.public-hero{padding-top:var(--sp-space-7)}.public-hero__head{display:flex;flex-direction:column;gap:var(--sp-space-3);margin-bottom:var(--sp-space-6)}.public-hero__title{font-family:var(--font-display);font-weight:400;font-size:var(--fs-2xl);line-height:1.1;letter-spacing:-.02em;margin:0;color:var(--ink)}.public-hero__title em{font-style:italic;color:var(--red-deep)}.public-hero__lede{color:var(--ink-2);max-width:40ch}.public-hero__meta{color:var(--ink-3);font:400 var(--fs-sm) var(--font-ui);margin:0}.public-hero__cta{display:flex;flex-direction:column;align-items:flex-start;gap:var(--sp-space-2);margin-top:var(--sp-space-3)}.public-hero__cta-hint{color:var(--ink-3);font:400 var(--fs-sm)/1.4 var(--font-ui);margin:0}.public-index__jump{display:flex;flex-wrap:wrap;gap:var(--sp-space-2);padding:var(--sp-space-3)0;margin-bottom:var(--sp-space-5);border-block:1px solid var(--hairline);position:sticky;top:0;background:var(--paper);z-index:1}.public-index__jump-letter{display:inline-flex;align-items:center;justify-content:center;min-width:30px;height:30px;padding:0 8px;border-radius:var(--sp-radius-sm);font:600 var(--fs-sm) var(--font-ui);color:var(--ink);text-decoration:none;transition:background 120ms ease}html.can-hover .public-index__jump-letter:hover{background:var(--red-soft);color:var(--red-deep)}.public-index__section{margin-bottom:var(--sp-space-6);scroll-margin-top:80px}.public-index__letter{font-family:var(--font-display);font-weight:400;font-size:var(--fs-xl);color:var(--red-deep);margin:0 0 var(--sp-space-3);padding-bottom:var(--sp-space-2);border-bottom:2px solid var(--red-soft)}.public-index__list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:var(--sp-space-2)}.public-index__item{margin:0}.public-index__link{display:flex;flex-direction:column;gap:2px;padding:var(--sp-space-3) var(--sp-space-4);background:var(--cream);border:1px solid var(--hairline);border-radius:var(--sp-radius-md);text-decoration:none;color:var(--ink);transition:transform 120ms ease,box-shadow 120ms ease,border-color 120ms ease}html.can-hover .public-index__link:hover{transform:translate(-1px,-1px);box-shadow:3px 3px 0 var(--ink);border-color:var(--ink)}.public-index__reo{font-family:var(--font-kupu);font-size:var(--fs-lg);color:var(--ink)}.public-index__english{font:400 var(--fs-sm) var(--font-ui);color:var(--ink-3)}.public-index__empty{color:var(--ink-3);font-style:italic}.public-kupu{padding-top:var(--sp-space-6)}.public-kupu__crumbs{display:inline-flex;align-items:center;gap:var(--sp-space-2);font:400 var(--fs-sm) var(--font-ui);color:var(--ink-3);margin-bottom:var(--sp-space-5)}.public-kupu__crumbs a{color:var(--ink-2);text-decoration:none}.public-kupu__crumbs a:hover{text-decoration:underline}.public-kupu__head{display:flex;flex-direction:column;gap:var(--sp-space-3);margin-bottom:var(--sp-space-6)}.public-kupu__reo{font-family:var(--font-kupu);font-size:clamp(3rem,8vw,5rem);line-height:1.05;letter-spacing:-.01em;color:var(--ink);margin:0}.public-kupu__english{font:400 var(--fs-lg)/1.4 var(--font-ui);color:var(--ink-2);margin:0}.public-kupu__audio{margin-bottom:var(--sp-space-6)}.public-kupu__audio audio{width:100%;max-width:420px}.public-kupu__audio-caption{font:400 var(--fs-sm) var(--font-ui);color:var(--ink-3);margin:var(--sp-space-2)0 0}.public-kupu__block{margin-bottom:var(--sp-space-6)}.public-kupu__block-heading{font-family:var(--font-display);font-weight:400;font-size:var(--fs-lg);color:var(--ink);margin:0 0 var(--sp-space-2)}.public-kupu__block-body{font:400 var(--fs-base)/1.6 var(--font-ui);color:var(--ink-2);margin:0}.public-kupu__example-reo{font-family:var(--font-kupu);font-size:var(--fs-lg);color:var(--ink);margin:0 0 var(--sp-space-2)}.public-kupu__example-en{font:400 var(--fs-base)/1.5 var(--font-ui);color:var(--ink-3);margin:0}.public-kupu__cta{margin:var(--sp-space-6)0;padding:var(--sp-space-5);background:var(--cream);border:1px solid var(--hairline);border-left:4px solid var(--red);border-radius:var(--sp-radius-lg);display:flex;flex-direction:column;gap:var(--sp-space-2);align-items:flex-start}.public-kupu__cta-hint{color:var(--ink-3);font:400 var(--fs-sm)/1.4 var(--font-ui);margin:0}.public-kupu__stacks{margin-top:var(--sp-space-6)}.public-kupu__stack-list{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:var(--sp-space-2)}.public-kupu__stack-link{display:inline-flex;align-items:center;padding:6px 12px;background:var(--paper-2);border-radius:var(--radius-pill);color:var(--ink);font:500 var(--fs-sm) var(--font-ui);text-decoration:none;transition:background 120ms ease}html.can-hover .public-kupu__stack-link:hover{background:var(--paper-3)}.public-stack{padding-top:var(--sp-space-6)}.public-stack__head{display:flex;flex-direction:column;gap:var(--sp-space-3);margin-bottom:var(--sp-space-6)}.public-stack__title{font-family:var(--font-display);font-weight:400;font-size:var(--fs-2xl);line-height:1.1;letter-spacing:-.02em;margin:0;color:var(--ink)}.public-stack__meta{color:var(--ink-3);font:400 var(--fs-sm) var(--font-ui);margin:0}.public-stack__cta{margin:0 0 var(--sp-space-6);padding:var(--sp-space-5);background:var(--cream);border:1px solid var(--hairline);border-left:4px solid var(--red);border-radius:var(--sp-radius-lg);display:flex;flex-direction:column;gap:var(--sp-space-2);align-items:flex-start}.public-stack__cta-hint{color:var(--ink-3);font:400 var(--fs-sm)/1.4 var(--font-ui);margin:0}.public-stack__list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:var(--sp-space-2)}.public-stack__link{display:flex;flex-direction:column;gap:2px;padding:var(--sp-space-3) var(--sp-space-4);background:var(--cream);border:1px solid var(--hairline);border-radius:var(--sp-radius-md);text-decoration:none;color:var(--ink);transition:transform 120ms ease,box-shadow 120ms ease,border-color 120ms ease}html.can-hover .public-stack__link:hover{transform:translate(-1px,-1px);box-shadow:3px 3px 0 var(--ink);border-color:var(--ink)}.public-stack__reo{font-family:var(--font-kupu);font-size:var(--fs-lg);color:var(--ink)}.public-stack__english{font:400 var(--fs-sm) var(--font-ui);color:var(--ink-3)}