:root{--bg: #fbf3ec;--surface: #fffdfa;--surface-2: #fdf8f3;--line: #f0e2d5;--ink: #2a1f18;--ink-dim: #6a5a4c;--ink-faint: #9a8a7c;--ember: #c45810;--ember-bright: #ff7a1f;--ember-soft: #fbe9dc;--dark: #2a1f18;--dark-2: #38291f;--green-bright: #7ac268;--gutter: clamp(20px, 4vw, 48px);--max: 1140px;--r: 18px;--sans: "Hanken Grotesk", system-ui, sans-serif;--mono: "JetBrains Mono", monospace;--shadow-sm: 0 8px 24px -14px rgba(58,47,40,.18);--shadow: 0 16px 40px -18px rgba(58,47,40,.22)}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{background:var(--bg);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}a{color:inherit;text-decoration:none}::selection{background:var(--ember);color:#fff}.glyph{stroke:currentColor;fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}nav.top{position:sticky;top:0;z-index:50;display:flex;justify-content:space-between;align-items:center;padding:16px var(--gutter);background:#fbf3ecd1;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid transparent;transition:all .3s}nav.top.scrolled{padding:11px var(--gutter);border-bottom-color:var(--line)}.logo{display:flex;align-items:center;gap:11px;font-family:Space Grotesk,sans-serif;font-weight:600;font-size:19px;color:var(--ink)}.mk{width:23px;height:23px;position:relative;flex-shrink:0;transition:transform .4s cubic-bezier(.34,1.56,.64,1)}.logo:hover .mk{transform:rotate(-8deg) scale(1.06)}.mk .o{position:absolute;inset:0;border:2.5px solid var(--ember);border-radius:2px}.mk .n{position:absolute;top:50%;right:0;transform:translateY(-50%);width:8px;height:6px;background:var(--bg)}.mk .c{position:absolute;top:50%;right:0;transform:translateY(-50%);width:5px;height:2.5px;background:var(--ember)}.nlinks{display:none;gap:26px;align-items:center;font-size:14px;font-weight:500;color:var(--ink-dim)}@media(min-width:820px){.nlinks{display:flex}}.nlinks a{transition:color .2s}.nlinks a:hover{color:var(--ember)}.nlinks a.active{color:var(--ember);font-weight:600}.nlinks a.cta{background:var(--ink);color:#fff;padding:9px 17px;border-radius:100px;font-weight:600}.nlinks a.cta:hover{background:var(--ember)}.phead{max-width:var(--max);margin:0 auto;padding:clamp(44px,6vw,76px) var(--gutter) clamp(28px,3vw,40px)}.crumb{font-family:var(--mono);font-size:12px;color:var(--ink-faint);margin-bottom:18px}.crumb a:hover{color:var(--ember)}.crumb .sep{margin:0 8px;opacity:.5}.crumb .here{color:var(--ember)}.phead h1{font-weight:800;font-size:clamp(32px,5.5vw,56px);line-height:1.02;letter-spacing:-.04em;max-width:18ch;margin-bottom:18px}.phead h1 .em{color:var(--ember)}.phead .intro{font-size:18.5px;line-height:1.6;color:var(--ink-dim);max-width:60ch}section{padding:0 var(--gutter)}.inner{max-width:var(--max);margin:0 auto}.pad-b{padding-bottom:clamp(48px,6vw,80px)}.practice{background:var(--surface);border:1px solid var(--line);border-radius:24px;padding:clamp(28px,4vw,48px);margin-bottom:22px;box-shadow:var(--shadow-sm)}.practice-top{display:grid;grid-template-columns:1fr;gap:24px;align-items:start;margin-bottom:32px}@media(min-width:820px){.practice-top{grid-template-columns:1.4fr 1fr;gap:48px}}.practice .pnum{font-family:var(--mono);font-size:12px;color:var(--ember);font-weight:600;letter-spacing:.08em;margin-bottom:14px}.practice .sic{width:54px;height:54px;border-radius:16px;background:linear-gradient(140deg,var(--ember),var(--ember-bright));color:#fff;display:flex;align-items:center;justify-content:center;margin-bottom:20px;box-shadow:0 8px 20px -8px #c4581073}.practice h2{font-weight:800;font-size:clamp(24px,3.5vw,34px);letter-spacing:-.03em;line-height:1.08;margin-bottom:14px}.practice h2 .em{color:var(--ember)}.practice .lead{font-size:16.5px;line-height:1.65;color:var(--ink-dim)}.practice .lead strong{color:var(--ink);font-weight:700}.vpanel{background:var(--surface-2);border:1px solid var(--line);border-radius:18px;padding:26px 22px;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:220px}.vpanel .vlabel{font-family:var(--mono);font-size:9px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-faint);margin-top:16px;text-align:center}.pdetails{display:grid;grid-template-columns:1fr;gap:22px;padding-top:30px;border-top:1px solid var(--line)}@media(min-width:760px){.pdetails{grid-template-columns:repeat(3,1fr);gap:32px}}.pcol h4{font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--ember);font-weight:600;margin-bottom:14px}.pcol ul{list-style:none;display:flex;flex-direction:column;gap:10px}.pcol li{font-size:14.5px;line-height:1.5;color:var(--ink-dim);padding-left:20px;position:relative}.pcol li:before{content:"";position:absolute;left:0;top:9px;width:7px;height:7px;border-radius:2px;background:var(--ember-soft);border:1px solid var(--ember)}.pcol li strong{color:var(--ink);font-weight:600}.tags{display:flex;flex-wrap:wrap;gap:7px}.tag{font-family:var(--mono);font-size:10.5px;color:var(--ink-faint);background:var(--surface-2);border:1px solid var(--line);padding:5px 10px;border-radius:100px}.arch svg{width:100%;max-width:320px;height:auto}.rack svg{width:100%;max-width:260px;height:auto;display:block;margin:0 auto}.ru-body{fill:#fff;stroke:var(--line);stroke-width:1.5}.ru-vent{stroke:#e8d8c8;stroke-width:1.4;stroke-linecap:round}.ru-handle{fill:var(--ember-soft);stroke:var(--ember);stroke-width:1.2}.led.g{fill:var(--green-bright)}.led.o{fill:var(--ember-bright)}.led.dim{fill:#e0d2c4}.blink{animation:rackblink 2.2s ease-in-out infinite}.blink2{animation:rackblink 2.2s ease-in-out infinite;animation-delay:.7s}.blink3{animation:rackblink 2.2s ease-in-out infinite;animation-delay:1.3s}@keyframes rackblink{0%,to{opacity:1}50%{opacity:.35}}.rack-label{font-family:var(--mono);font-size:8px;fill:var(--ink-faint)}.rack-frame{fill:none;stroke:var(--ink-dim);stroke-width:2;opacity:.25}.nb{fill:#fff;stroke:var(--line);stroke-width:1.5}.nbm{fill:var(--ember-soft);stroke:var(--ember);stroke-width:2}.nl{font-family:var(--mono);font-size:9px;fill:var(--ink-dim)}.nlm{fill:var(--ember);font-weight:600}.fl2{stroke:#d8c2af;stroke-width:1.6;fill:none;stroke-dasharray:4 4}.flm{stroke:var(--ember);stroke-width:2.5;fill:none}.pulse{animation:nodePulse 2.6s ease-in-out infinite}@keyframes nodePulse{0%,to{opacity:1}50%{opacity:.75}}.pipe{width:100%;max-width:260px}.pstep{background:#fff;border:1px solid var(--line);border-radius:12px;padding:11px 14px;display:flex;align-items:center;gap:11px}.pstep .pi{width:30px;height:30px;border-radius:9px;background:var(--ember-soft);display:flex;align-items:center;justify-content:center;color:var(--ember);flex-shrink:0}.pstep .pn{font-size:13px;font-weight:600}.pstep .ps{font-family:var(--mono);font-size:8px;color:var(--ink-faint);text-transform:uppercase;margin-left:auto}.pconn{height:14px;display:flex;align-items:center;padding-left:30px}.pconn svg{width:14px;height:14px;overflow:visible}.agent{width:100%;display:flex;flex-direction:column;gap:12px}.asteps{display:grid;grid-template-columns:repeat(5,1fr);gap:6px}.ast{background:#fff;border:1px solid var(--line);border-radius:12px;padding:12px 4px;text-align:center;transition:all .4s}.ast.active{background:var(--ember-soft);border-color:var(--ember);transform:translateY(-3px)}.ast .ai{color:var(--ember);display:flex;align-items:center;justify-content:center;margin-bottom:6px}.ast .an{font-size:9.5px;font-weight:600;line-height:1.15}.afound{background:var(--dark);border-radius:12px;padding:11px 14px;display:flex;gap:9px;flex-wrap:wrap;align-items:center}.afound .afl{font-family:var(--mono);font-size:8.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--ember-bright);font-weight:600}.afound .afi{font-family:var(--mono);font-size:8.5px;color:#c8b8a8;border:1px solid #4a3a2e;padding:2px 7px;border-radius:100px}.cta-strip{background:var(--dark);color:#fff;border-radius:24px;padding:clamp(32px,5vw,52px);text-align:center;position:relative;overflow:hidden;margin-top:8px}.cta-strip:before{content:"";position:absolute;top:-120px;left:50%;transform:translate(-50%);width:460px;height:360px;background:radial-gradient(circle,rgba(255,122,31,.16) 0%,transparent 62%);pointer-events:none}.cta-strip h3{font-weight:800;font-size:clamp(24px,3.5vw,36px);letter-spacing:-.03em;margin-bottom:14px;position:relative}.cta-strip h3 .em{color:var(--ember-bright)}.cta-strip p{color:#c8b8a8;font-size:16px;max-width:50ch;margin:0 auto 26px;position:relative}.cta-btns{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;position:relative}.btn{font-weight:600;font-size:15px;padding:14px 26px;border-radius:100px;display:inline-flex;align-items:center;gap:9px;transition:all .25s cubic-bezier(.34,1.56,.64,1)}.btn-1{background:var(--ember);color:#fff}.btn-1:hover{background:var(--ember-bright);transform:translateY(-2px)}.btn-2{background:#ffffff14;color:#fff;border:1px solid rgba(255,255,255,.18)}.btn-2:hover{background:#ffffff24;transform:translateY(-2px)}footer{padding:clamp(44px,6vw,68px) var(--gutter) 36px;margin-top:clamp(48px,6vw,80px)}.fgrid{max-width:var(--max);margin:0 auto;display:grid;grid-template-columns:1fr;gap:32px}@media(min-width:760px){.fgrid{grid-template-columns:2fr 1fr 1fr 1fr;gap:40px}}.fgrid .brand{display:flex;align-items:center;gap:11px;font-family:Space Grotesk,sans-serif;font-weight:600;font-size:19px;margin-bottom:13px}.fgrid .tagline{font-size:14px;color:var(--ink-dim);max-width:30ch;line-height:1.6}.fgrid h5{font-family:var(--mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--ember);margin-bottom:13px}.fgrid ul{list-style:none;display:flex;flex-direction:column;gap:8px}.fgrid ul a,.fgrid ul li{font-size:14px;color:var(--ink-dim);transition:color .2s}.fgrid ul a:hover{color:var(--ember)}.fbase{max-width:var(--max);margin:38px auto 0;padding-top:22px;border-top:1px solid var(--line);display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;font-family:var(--mono);font-size:11px;color:var(--ink-faint)}.reveal{opacity:0;transform:translateY(22px);transition:opacity .6s cubic-bezier(.22,1,.36,1),transform .6s cubic-bezier(.22,1,.36,1)}.reveal.in{opacity:1;transform:translateY(0)}@media(prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none}}
