
.ih-root{--ih-page:#efefef;--ih-hatch:rgba(0,0,0,.06);--ih-paper:#fbfbfb;--ih-card:#f4f4f4;--ih-raise:#ffffff;--ih-ink:#151515;--ih-soft:#3d3d3d;--ih-muted:#7b7b7b;--ih-faint:#a8a8a8;--ih-line:#e2e2e2;--ih-line-strong:#cfcfcf;--ih-bracket:#c9c9c9;--ih-band:#e9e9e9;--ih-inv:#161616;--ih-inv-ink:#f5f5f5;--ih-shadow:0 1px 2px rgba(0,0,0,.05),0 8px 24px -12px rgba(0,0,0,.12);--ih-sans:"Manrope","Inter",ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;--ih-serif:"Newsreader","Iowan Old Style","Palatino Linotype","Book Antiqua",Georgia,"Times New Roman",serif;--ih-mono:"JetBrains Mono",ui-monospace,"SF Mono",Menlo,Consolas,monospace;position:relative;width:100%;box-sizing:border-box;background-color:var(--ih-page);background-image:repeating-linear-gradient(135deg,var(--ih-hatch) 0 1px,transparent 1px 10px);color:var(--ih-ink);font-family:var(--ih-sans);font-size:15px;line-height:1.5;-webkit-font-smoothing:antialiased;padding:28px clamp(10px,2.4vw,28px);transition:background-color .45s ease,color .45s ease}
.ih-root[data-theme="dark"]{--ih-page:#0b0b0b;--ih-hatch:rgba(255,255,255,.05);--ih-paper:#121212;--ih-card:#181818;--ih-raise:#1e1e1e;--ih-ink:#eeeeee;--ih-soft:#c9c9c9;--ih-muted:#8d8d8d;--ih-faint:#5d5d5d;--ih-line:#262626;--ih-line-strong:#363636;--ih-bracket:#444444;--ih-band:#1d1d1d;--ih-inv:#efefef;--ih-inv-ink:#121212;--ih-shadow:0 1px 2px rgba(0,0,0,.4),0 10px 30px -14px rgba(0,0,0,.7)}
.ih-root :where(*){box-sizing:border-box}
.ih-root :focus-visible{outline:2px solid var(--ih-ink);outline-offset:2px}
.ih-root :where(button){font:inherit;color:inherit;background:none;border:0;padding:0;margin:0;cursor:pointer;text-align:inherit;letter-spacing:inherit}
.ih-root :where(svg){display:block;max-width:none;flex:none}
.ih-root :where(h1,p,ol,li){margin:0;padding:0;font-size:inherit;font-weight:inherit;list-style:none}
.ih-shell{width:100%;max-width:1180px;margin:0 auto;container-type:inline-size}
.ih-sec{position:relative;background:var(--ih-paper);border:1px solid var(--ih-line);transition:background-color .45s,border-color .45s}
.ih-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.ih-frame{position:relative}
.ih-c{position:absolute;width:12px;height:12px;border-color:var(--ih-bracket);border-style:solid;border-width:0;pointer-events:none;transition:border-color .3s,transform .35s cubic-bezier(.2,.8,.2,1)}
.ih-c-tl{top:-6px;left:-6px;border-top-width:1.5px;border-left-width:1.5px}
.ih-c-tr{top:-6px;right:-6px;border-top-width:1.5px;border-right-width:1.5px}
.ih-c-bl{bottom:-6px;left:-6px;border-bottom-width:1.5px;border-left-width:1.5px}
.ih-c-br{bottom:-6px;right:-6px;border-bottom-width:1.5px;border-right-width:1.5px}
.ih-frame-hover:hover>.ih-c{border-color:var(--ih-ink)}
.ih-frame-hover:hover>.ih-c-tl{transform:translate(-3px,-3px)}
.ih-frame-hover:hover>.ih-c-tr{transform:translate(3px,-3px)}
.ih-frame-hover:hover>.ih-c-bl{transform:translate(-3px,3px)}
.ih-frame-hover:hover>.ih-c-br{transform:translate(3px,3px)}
.ih-icon-btn{display:inline-grid;place-items:center;width:34px;height:34px;color:var(--ih-muted);border:1px solid transparent;transition:color .2s,border-color .2s}
.ih-icon-btn:hover{color:var(--ih-ink);border-color:var(--ih-line)}
.ih-btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 16px;font-size:13.5px;font-weight:500;line-height:1;white-space:nowrap;border-radius:2px;transition:background-color .2s,color .2s,box-shadow .25s,transform .2s cubic-bezier(.2,.8,.2,1)}
.ih-btn-dark{background:var(--ih-inv);color:var(--ih-inv-ink);box-shadow:0 0 0 3px var(--ih-paper),0 0 0 4px var(--ih-line-strong),0 6px 16px -8px rgba(0,0,0,.5)}
.ih-btn-dark:hover{box-shadow:0 0 0 3px var(--ih-paper),0 0 0 4px var(--ih-ink),0 10px 22px -10px rgba(0,0,0,.6);transform:translateY(-1px)}
.ih-btn-ghost{background:var(--ih-raise);color:var(--ih-ink);border:1px solid var(--ih-line-strong)}
.ih-btn-ghost:hover{border-color:var(--ih-ink)}
.ih-btn:active{transform:translateY(0) scale(.98)}
.ih-btn .ih-arr{transition:transform .25s cubic-bezier(.2,.8,.2,1)}
.ih-btn:hover .ih-arr{transform:translateX(3px)}
.ih-btn[disabled]{opacity:.6;cursor:default}
.ih-hero{display:grid;grid-template-columns:minmax(0,1fr);min-height:min(620px,calc(var(--ih-h,100svh) - 110px))}
@container (min-width:860px){.ih-hero{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}
.ih-hero-copy{display:flex;flex-direction:column;justify-content:center;padding:clamp(40px,7cqw,80px) 0 clamp(36px,6cqw,64px)}
.ih-band{position:relative;padding:clamp(18px,2.6cqw,28px) clamp(16px,3cqw,32px);background:linear-gradient(90deg,var(--ih-band) 0%,var(--ih-band) 55%,transparent 100%);border-top:1px solid var(--ih-line);border-bottom:1px solid var(--ih-line)}
.ih-h1{font-size:clamp(34px,5.2cqw,58px);line-height:1.04;letter-spacing:-.03em;font-weight:400}
.ih-h1-top{display:block;animation:ih-blur-in 1s cubic-bezier(.2,.7,.2,1) both}
.ih-h1-acc{display:block;font-family:var(--ih-serif);font-stretch:condensed;letter-spacing:-.02em;color:var(--ih-soft);min-height:1.1em}
.ih-word{display:inline-block;animation:ih-blur-in .9s cubic-bezier(.2,.7,.2,1) both}
.ih-word-out{animation:ih-blur-out .45s ease both}
.ih-hero-body{padding:22px clamp(16px,3cqw,32px) 0}
.ih-lede{font-size:clamp(14px,1.35cqw,15.5px);line-height:1.6;color:var(--ih-soft);max-width:48ch;animation:ih-rise .9s .15s cubic-bezier(.2,.7,.2,1) both}
.ih-hero-ctas{display:flex;flex-wrap:wrap;gap:16px;margin-top:26px;animation:ih-rise .9s .28s cubic-bezier(.2,.7,.2,1) both}
.ih-hero-ctas .ih-frame>.ih-c{width:7px;height:7px;top:-4px;left:-4px}
.ih-hero-ctas .ih-frame>.ih-c-tr{left:auto;right:-4px}
.ih-hero-ctas .ih-frame>.ih-c-bl{top:auto;bottom:-4px}
.ih-hero-ctas .ih-frame>.ih-c-br{top:auto;left:auto;bottom:-4px;right:-4px}
.ih-proof{display:flex;align-items:center;gap:10px;margin-top:30px;font-size:12.5px;color:var(--ih-muted);animation:ih-rise .9s .4s cubic-bezier(.2,.7,.2,1) both}
.ih-proof-faces{display:flex}
.ih-proof-faces>*{margin-left:-7px;border:2px solid var(--ih-paper);border-radius:999px;overflow:hidden}
.ih-proof-faces>*:first-child{margin-left:0}
.ih-art{position:relative;min-height:360px;border-top:1px solid var(--ih-line);overflow:hidden;background:radial-gradient(60% 55% at 50% 50%,var(--ih-raise),var(--ih-paper))}
@container (min-width:860px){.ih-art{border-top:0;border-left:1px solid var(--ih-line);min-height:0}}
.ih-spin{width:14px;height:14px;border-radius:99px;border:2px solid currentColor;border-right-color:transparent;animation:ih-spin .7s linear infinite}
.ih-live{width:7px;height:7px;border-radius:99px;background:var(--ih-accent-live,#22c55e);box-shadow:0 0 0 0 var(--ih-accent-live,#22c55e);animation:ih-ping 2.4s ease-out infinite}
.ih-modal{position:fixed;inset:0;z-index:2147483000;display:grid;place-items:center;padding:16px;background:rgba(10,10,10,.42);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);animation:ih-fade .25s ease both}
.ih-dialog{position:relative;width:min(560px,100%);max-height:calc(100vh - 32px);overflow:auto;background:var(--ih-paper);color:var(--ih-ink);border:1px solid var(--ih-line-strong);box-shadow:0 30px 80px -20px rgba(0,0,0,.45);animation:ih-pop .4s cubic-bezier(.2,.8,.2,1) both;font-family:var(--ih-sans)}
.ih-dialog-head{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid var(--ih-line);font-size:13px}
.ih-dialog-head span{display:inline-flex;align-items:center;gap:8px;font-family:var(--ih-mono);font-size:11.5px;color:var(--ih-muted)}
.ih-steps{display:grid;gap:4px;padding:16px}
.ih-step{display:grid;grid-template-columns:28px 1fr auto;align-items:center;gap:12px;padding:10px 12px;border:1px solid transparent;transition:background-color .3s,border-color .3s,opacity .3s;opacity:.45}
.ih-step[data-state="run"]{opacity:1;background:var(--ih-card);border-color:var(--ih-line)}
.ih-step[data-state="done"]{opacity:1}
.ih-step b{font-size:13.5px;font-weight:600;display:block}
.ih-step small{font-size:12px;color:var(--ih-muted)}
.ih-step-ix{display:grid;place-items:center;width:26px;height:26px;border:1px solid var(--ih-line-strong);font-family:var(--ih-mono);font-size:11px}
.ih-step[data-state="done"] .ih-step-ix{background:var(--ih-inv);color:var(--ih-inv-ink);border-color:var(--ih-inv)}
.ih-step-t{font-family:var(--ih-mono);font-size:11px;color:var(--ih-faint)}
.ih-bar{height:2px;margin:0 16px;background:var(--ih-line)}
.ih-bar>i{display:block;height:2px;background:var(--ih-ink);transition:width .3s linear}
.ih-dialog-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;font-size:12.5px;color:var(--ih-muted)}
@keyframes ih-rise{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
@keyframes ih-fade{from{opacity:0}to{opacity:1}}
@keyframes ih-blur-in{from{opacity:0;filter:blur(8px);transform:translateY(10px)}to{opacity:1;filter:blur(0);transform:none}}
@keyframes ih-blur-out{from{opacity:1;filter:blur(0)}to{opacity:0;filter:blur(8px);transform:translateY(-8px)}}
@keyframes ih-pop{from{opacity:0;transform:translateY(14px) scale(.97)}to{opacity:1;transform:none}}
@keyframes ih-spin{to{transform:rotate(360deg)}}
@keyframes ih-ping{0%{box-shadow:0 0 0 0 rgba(34,197,94,.55)}80%,100%{box-shadow:0 0 0 7px rgba(34,197,94,0)}}
.ih-art-fill{position:absolute;inset:0}
@media (prefers-reduced-motion:reduce){
.ih-h1-top,.ih-word,.ih-word-out,.ih-lede,.ih-hero-ctas,.ih-proof,.ih-modal,.ih-dialog{animation:none}
.ih-live{animation:none}
.ih-spin{animation-duration:2s}
.ih-btn,.ih-c,.ih-step,.ih-bar>i{transition:none}
}
