.phero{position:relative;overflow:hidden;border-bottom:1px solid var(--line);background:linear-gradient(180deg,var(--bg) 0%,var(--code-bg) 100%)}.phero-dots{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;-webkit-mask-image:radial-gradient(ellipse 70% 90%at 50% 30%,#000 30%,transparent 80%);mask-image:radial-gradient(ellipse 70% 90%at 50% 30%,#000 30%,transparent 80%)}.phero .in{position:relative;max-width:920px;margin:0 auto;padding:72px 28px 80px;display:flex;flex-direction:column;align-items:center;text-align:center;gap:18px}.phero h1{font-family:var(--sans);font-weight:800;font-size:clamp(38px,5.4vw,64px);line-height:1.03;letter-spacing:-.045em;max-width:860px}.phero h1 em{font-style:normal;color:var(--brand)}.phero .lead{max-width:680px;margin:0}.lg-hero .in{padding-bottom:56px}.lg-meta{margin:0;font-size:14px;color:var(--muted)}.lg-meta span{display:inline}.lg-kind{display:inline-flex;align-items:center;gap:8px;padding:6px 13px;border-radius:999px;background:var(--surface);border:1px solid var(--line);font-family:var(--mono);font-size:12px;color:var(--brand)}.lg{display:grid;grid-template-columns:250px minmax(0,1fr);gap:48px;align-items:start;max-width:1120px;margin:0 auto}.lg-side{position:sticky;top:96px;display:flex;flex-direction:column;gap:16px}.lg-box{padding:18px 12px 12px;border-radius:20px}.lg-k{display:block;padding:0 10px 8px;font-family:var(--mono);font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}.lg-box a{display:block;padding:9px 10px;border-radius:10px;font-size:14px;color:var(--ink-2);transition:background .3s,color .3s}.lg-box a:hover{background:var(--sage);color:var(--ink)}.lg-box a.on{background:var(--brand);color:var(--on-deep)}.lg-toc a.sub{padding-left:24px;font-size:13px;color:var(--muted)}.lg-toc a.sub:before{content:"";position:absolute;left:12px;top:50%;width:5px;height:1px;background:var(--line-2)}.lg-toc a.sub{position:relative}.lg-doc{padding:44px 48px;border-radius:28px}.lg-doc section{scroll-margin-top:100px}.lg-doc section+section{margin-top:36px;padding-top:32px;border-top:1px solid var(--line-3)}.lg-doc h2{display:flex;align-items:center;gap:12px;font-size:clamp(22px,2.4vw,28px);font-weight:800;letter-spacing:-.03em;margin-bottom:14px;scroll-margin-top:100px}.lg-doc h2 .no{flex:none;width:34px;height:34px;border-radius:10px;background:var(--sage);color:var(--brand);display:inline-flex;align-items:center;justify-content:center;font-family:var(--mono);font-size:13px;font-weight:500}.lg-doc h3{font-size:18.5px;font-weight:700;letter-spacing:-.02em;margin:22px 0 10px;color:var(--ink);scroll-margin-top:100px}.lg-doc p,.lg-doc li{font-size:16.5px;line-height:1.8;color:var(--ink-2)}.lg-doc p{margin:0 0 14px}.lg-doc ul{margin:0 0 14px;padding:0;list-style:none;display:flex;flex-direction:column;gap:10px}.lg-doc li{position:relative;padding-left:30px}.lg-doc li:before{content:"";position:absolute;left:6px;top:.72em;width:8px;height:8px;border-radius:50%;background:var(--brand);box-shadow:0 0 0 4px #3ea38026}.lg-doc a{color:var(--brand);font-weight:600;text-decoration:underline;text-underline-offset:3px}.lg-doc strong{color:var(--ink)}.lg-doc table{width:100%;border-collapse:collapse;margin:0 0 18px;font-size:15.5px}.lg-doc th{text-align:left;font-weight:700;color:var(--ink);padding:0 18px 10px 0;border-bottom:1px solid var(--line-2)}.lg-doc td{padding:12px 18px 12px 0;border-bottom:1px solid var(--line-3);color:var(--ink-2);vertical-align:top}.lg-doc tbody tr:last-child td{border-bottom:0}.lg-doc th:last-child,.lg-doc td:last-child{padding-right:0}.lg-callout{margin:6px 0 16px;padding:18px 20px;border-radius:16px;border:1.5px solid var(--brand);background:var(--pop-top)}.lg-callout p{margin:0}.lg-contact{display:flex;align-items:center;gap:16px;margin-top:36px;padding:20px 22px;border-radius:18px;background:var(--paper);border:1px solid var(--line)}.lg-contact p{margin:0;flex:1;font-size:15px}.cta-sec{position:relative}@media (max-width:900px){.lg{grid-template-columns:1fr;gap:24px}.lg-side{position:static!important}}@media (max-width:640px){.lg-doc{padding:26px 22px}}