/* Public reading and product surfaces. Portal styles remain independently scoped. */
.public-site{--bg:#0b100e;--bg2:#0b100e;--surface:#131c16;--surface2:#141d18;--surface3:#1c2a1e;--ink:#f0f4ee;--muted:#afbeb2;--faint:#afbeb2;--accent:#b7f875;--accent2:#b7f875;--accent-ink:#15200b;--line:#35422c;--line2:#35422c;--public-ink:#f0f4ee;--public-muted:#afbeb2;--public-lime:#b7f875;background:#0b100e;color:var(--public-ink);font-size:16px;line-height:1.7}
.public-site .public-header{position:relative;background:#0b100e;border-bottom:1px solid #30362b;z-index:20}
.public-site .public-header>.in{max-width:1240px;min-height:82px;padding:14px 32px;display:flex;flex-wrap:nowrap;gap:26px}
.public-site .brand{white-space:nowrap;font-size:19px;letter-spacing:-.04em;color:var(--public-ink);gap:10px}
.public-site .brand .dot{background:var(--public-lime);box-shadow:none;width:12px;height:12px}
.public-desktop-nav{display:flex;align-items:center;gap:26px;margin-left:auto}
.public-desktop-nav a{display:flex;align-items:center;min-height:44px;color:var(--public-muted);font-size:14px;text-decoration:none}
.public-desktop-nav a:hover,.public-desktop-nav a[aria-current]{color:var(--public-ink)}
.public-site .site-signin{margin:0;color:var(--public-ink);border-color:#687060;background:transparent}
.public-site .btn{min-height:46px;padding:12px 20px;border-radius:8px;font-size:14px;line-height:1.4;letter-spacing:0;text-transform:none;text-align:center;white-space:normal}
.public-site .btn-primary{background:var(--public-lime);border-color:var(--public-lime);color:#15200b}
.public-site .btn-primary:hover{background:#d7ff91;color:#15200b}
.public-site .btn-ghost{border-color:#687060;color:var(--public-ink)}
.public-site a:focus-visible,.public-site button:focus-visible,.public-site summary:focus-visible,.public-site [tabindex]:focus-visible{outline:3px solid var(--public-lime);outline-offset:4px}
.public-menu{display:none;position:static;margin:0}
.public-menu summary{list-style:none;display:flex;gap:10px;align-items:center;justify-content:center;min-height:44px;padding:9px 12px;border:1px solid #687060;border-radius:8px;font-size:14px;cursor:pointer}
.public-menu summary::-webkit-details-marker{display:none}
.public-menu summary span{font-size:19px}
.public-menu[open] summary span{transform:rotate(45deg)}
.public-menu nav{position:absolute;inset:100% 16px auto;background:#141d18;border:1px solid #687060;border-radius:0 0 14px 14px;padding:12px;box-shadow:0 22px 40px #0006}
.public-menu nav a{display:block;padding:11px 14px;min-height:44px;color:var(--public-ink);text-decoration:none;font-size:15px;border-radius:6px}
.public-menu nav a:hover,.public-menu nav a[aria-current]{background:#2c3325;color:var(--public-lime)}
.public-menu nav .public-menu-cta{background:var(--public-lime);color:#15200b;margin-top:10px;font-weight:600}
.public-site .blog-wrap{max-width:900px;padding:64px 32px 88px}
.public-site .blog-wrap--hub,.public-site .blog-wrap--index,.public-site .product-wrap{max-width:1240px}
.public-site .blog-wrap h1{font-size:clamp(2.2rem,4.6vw,3.8rem);line-height:1.08;letter-spacing:-.055em;text-wrap:balance;max-width:24ch;color:var(--public-ink);margin:18px 0 24px}
.public-site .blog-wrap h2{font-size:clamp(1.5rem,2.5vw,2.15rem);line-height:1.2;letter-spacing:-.035em;color:var(--public-ink)}
.public-site .blog-wrap h3{font-size:1.18rem;line-height:1.4;color:var(--public-ink)}
.public-site .eyebrow{font-size:12px;letter-spacing:.12em;color:var(--public-lime)}
.public-site .blog-sub,.public-site .prod-hub>p{font-size:18px;line-height:1.75;max-width:67ch;color:var(--public-muted)}
.public-editorial-hero,.public-article-hero{padding-bottom:40px;border-bottom:1px solid #30362b;margin-bottom:44px}
.public-site .public-editorial-hero>p:last-child,.public-site .public-editorial-hero .prod-strip{display:flex;flex-wrap:wrap;gap:12px;margin:28px 0 0}
.public-site .public-editorial-hero .blog-sub{display:block}
.public-site .blog-back{display:inline-flex;align-items:center;min-height:44px;font-size:14px;color:var(--public-muted)}
.public-site .blog-meta{font-size:13px;line-height:1.7;color:var(--public-muted);margin-top:26px}
.public-section-label{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:24px}
.public-site .public-section-label h2{font-size:21px;margin:0}
.public-section-label>span{font-size:13px;color:var(--public-muted)}
.public-site .post-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.public-site .post-item{position:relative;display:flex;flex-direction:column;gap:18px;background:#131c16;border:1px solid #30362b;border-radius:14px;padding:30px;min-width:0}
.public-site .post-item:hover{border-color:#687060;background:#1c2218}
.public-site .post-item h2{font-size:25px;margin:0;max-width:26ch;letter-spacing:-.025em}
.public-site .post-item h2 a{color:var(--public-ink);text-decoration:none}
.public-site .post-item h2 a::after{content:"";position:absolute;inset:0;border-radius:14px}
.public-site .post-item h2 a:focus-visible::after{outline:3px solid var(--public-lime);outline-offset:3px}
.public-site .post-item p{color:var(--public-muted);font-size:15px;margin:0;padding-right:15px}
.post-number{font:13px var(--font-mono,monospace);color:var(--public-lime);margin-bottom:6px}
.post-direction{font-size:24px;line-height:1;color:var(--public-lime);align-self:flex-end;margin-top:auto}
.public-site .blog-article{font-size:16px;line-height:1.85;color:#c4ccbf}
.public-site .blog-article h2{margin-top:52px;margin-bottom:18px}
.public-site .blog-article h3{margin-top:30px;margin-bottom:12px}
.public-site .blog-article li{margin-block:10px}
.public-site .blog-article p,.public-site .blog-article li,.public-site .blog-faq p{overflow-wrap:anywhere}
.public-site .blog-article a:not(.btn),.public-site .blog-faq a{color:var(--public-lime);text-underline-offset:4px}
.public-site .blog-article b,.public-site .blog-article strong{color:var(--public-ink)}
.public-site .blog-article .alert{display:block;overflow-wrap:anywhere;line-height:1.8;padding:20px;margin-block:20px}
.public-site pre{max-width:100%;overflow:auto;padding:24px;background:#090d09;border:1px solid #35422c;border-radius:12px;color:#d6edc3;font-size:13px;line-height:1.75}
.public-site pre code{background:transparent;padding:0;color:inherit;font-size:inherit;white-space:pre}
.public-site :not(pre)>code{color:#d6edc3;overflow-wrap:anywhere}
.public-site .table-wrap{max-width:100%;overflow-x:auto;border:1px solid #35422c;border-radius:12px;margin-block:26px}
.public-site table{font-size:14px;line-height:1.65}
.public-site th,.public-site td{padding:16px;border-color:#35422c}
.public-site th{background:#1c2417;color:var(--public-ink);font-size:13px}
.public-site td{color:#c4ccbf}
.public-site caption{padding:14px;text-align:left}
.public-site .public-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-block:24px}
.public-site .public-actions form{margin:0}
.public-site .blog-faq,.public-site .post-foot,.public-site .blog-cta{padding:28px;border:1px solid #35422c;border-radius:14px;background:#181e14;margin-top:40px}
.public-site .blog-faq details{border-color:#35422c;padding-block:6px}
.public-site .blog-faq summary{min-height:48px;padding:12px 0;color:var(--public-ink);line-height:1.55}
.public-site .blog-faq p,.public-site .post-foot p{color:var(--public-muted)}
.public-site .blog-cta-h{color:var(--public-ink)}
.public-site .prod-hub{padding:12px 0 42px}
.public-site .prod-hub--follow{margin-top:48px;padding-top:44px;border-top:1px solid #30362b}
.public-site .prod-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.public-site .prod-card{padding:32px;border:1px solid #35422c;border-radius:16px;background:#131c16;gap:16px}
.public-site .prod-card--featured{background:#1c2a1e;border-color:#687c52}
.public-site .prod-card h2{font-size:30px;max-width:24ch}
.public-site .prod-card p{color:var(--public-muted);font-size:15px;line-height:1.75}
.public-site .prod-card-cta{gap:12px}
.public-site .site-foot{background:#151912;border-top:1px solid #35422c;padding:52px 32px 28px;margin-top:0}
.public-site .site-foot>.in{max-width:1176px;margin:0 auto}
.public-site .site-foot-cols{gap:40px}
.public-site .site-foot-h{color:var(--public-muted);font-size:12px;letter-spacing:.1em;margin-bottom:14px}
.public-site .site-foot-col a{display:flex;align-items:center;min-height:44px;font-size:14px;color:#d6ddcf;text-decoration:none;padding:7px 0;line-height:1.5}
.public-site .site-foot-base{font-size:13px;color:var(--public-muted);line-height:1.75;border-color:#35422c;padding-top:28px}
.public-empty{padding:32px;border:1px solid #35422c;border-radius:12px}
@media(max-width:900px){.public-desktop-nav{display:none}.public-menu{display:block}.public-site .site-signin{margin-left:auto}.public-site .public-header>.in{padding:12px 22px;gap:14px;min-height:74px}.public-site .brand{font-size:17px}.public-site .blog-wrap{padding-top:42px}.public-site .site-foot-cols{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.public-site .public-header>.in{padding:10px 18px;gap:10px;min-height:70px}.public-site .site-signin{padding:9px 11px;font-size:13px}.public-site .brand{font-size:15px;gap:7px}.public-site .brand .dot{width:9px;height:9px}.public-menu summary{font-size:13px;padding-inline:10px;gap:5px}.public-site .blog-wrap{padding:36px 20px 60px}.public-site .blog-wrap h1{font-size:clamp(2rem,8.2vw,2.8rem);letter-spacing:-.045em}.public-site .blog-sub,.public-site .prod-hub>p{font-size:16px}.public-site .post-list,.public-site .prod-grid{grid-template-columns:minmax(0,1fr)}.public-site .post-item,.public-site .prod-card{padding:24px}.public-site .post-item h2{font-size:24px}.public-site .blog-article{font-size:15px}.public-site .blog-article h2{margin-top:38px}.public-site .blog-cta,.public-site .blog-faq,.public-site .post-foot{padding:22px}.public-site .site-foot{padding:40px 20px 24px}.public-site .site-foot-cols{gap:28px}.public-editorial-hero,.public-article-hero{padding-bottom:28px;margin-bottom:32px}.public-site pre{padding:18px}.public-site .btn{max-width:100%;overflow-wrap:anywhere}}
@media(max-width:360px){.public-site .brand{font-size:14px}.public-site .brand .dot{display:none}.public-site .public-header>.in{gap:8px;padding-inline:14px}.public-site .site-signin{font-size:12px;padding-inline:9px}.public-menu summary{font-size:12px;padding-inline:8px}.public-section-label{align-items:flex-start}.public-site .site-foot-cols{grid-template-columns:minmax(0,1fr)}}
@media(prefers-reduced-motion:reduce){.public-site *{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
