/* MatchAll refinement · 20261011 · native service colors retained */
:root { --matchall-ui-revision: "20261011"; }
html { text-size-adjust:100%; -webkit-text-size-adjust:100%; }
body { -webkit-font-smoothing:antialiased; }
h1,h2,h3 { text-wrap:balance; }
p { text-wrap:pretty; }
:where(a,button,input,select,textarea):focus-visible { outline:2px solid currentColor; outline-offset:4px; }
body :is(.card,.service-card,.project-card,.position,.quote,.chart-shell,.panel,.metric,.docs-panel,.docs-feature) { border-radius:16px; }
:where(.card,.service-card,.project-card) { transition:border-color .18s ease,box-shadow .18s ease; }
:where(.card,.service-card,.project-card):hover { box-shadow:0 8px 24px rgba(16,24,40,.055); }
body :is(.btn,.button) { border-radius:12px; min-height:44px; }
body :is(.hero,.page-hero) h1 { letter-spacing:-.04em; }
:where(.lead,.lede) { line-height:1.8; }
:where(.section) { scroll-margin-top:5rem; }
:where(.docs-markdown) { font-size:1rem; line-height:1.95; overflow-wrap:anywhere; }
:where(.docs-markdown) h2 { margin-top:2.5rem; padding-top:.6rem; border-top:1px solid var(--line-divider); }
:where(.docs-markdown) h3 { margin-top:1.8rem; }
:where(.docs-markdown) a { text-underline-offset:.22em; }
:where(.docs-markdown) pre { border:1px solid var(--line-divider); }
.docs-panel { padding:clamp(1.35rem,4vw,2.5rem); }
.docs-intro { display:grid;gap:1.5rem;grid-template-columns:minmax(0,1fr) minmax(220px,.6fr);align-items:start; }
.docs-meta { display:flex;gap:.6rem;flex-wrap:wrap;margin-top:1.3rem; }
.docs-meta span { padding:.35rem .7rem;border:1px solid var(--line-divider);border-radius:999px;font-size:.78rem; }
.docs-feature { border:1px solid var(--line-divider);padding:1.25rem;background:color-mix(in srgb,var(--primary) 5%,transparent); }
.docs-filter-status { font-size:.85rem; margin-top:.8rem; }
.docs-group { scroll-margin-top:6rem; }
.docs-group [data-doc-card] { background:var(--card-bg); }
.docs-group [data-doc-card]:focus-visible { outline:2px solid var(--primary); }
.docs-reading-nav { display:flex;flex-wrap:wrap;gap:.5rem;margin-block:1rem; }
.docs-reading-nav a { font-size:.82rem;padding:.45rem .7rem;border:1px solid var(--line-divider);border-radius:8px; }
@media (max-width:640px) { .docs-intro { grid-template-columns:1fr; } body :is(.hero,.page-hero) h1 { overflow-wrap:break-word; } :where(.nav-links) { gap:.5rem; } }
@media (prefers-reduced-motion:reduce) { :where(.card,.service-card,.project-card,.button,.btn) { transition:none; } }

body .hero h1 { font-size:clamp(2.5rem,6.5vw,4.75rem);line-height:1.12; }
body .hero { min-height:initial; }
body .card p { line-height:1.8; }

/* Keep Fuwari content visible when its entrance animation is disabled. */
@media(prefers-reduced-motion:reduce){body .onload-animation{opacity:1!important;transform:none!important}html.is-animating .transition-swup-fade{opacity:1!important;transform:none!important}}

/* Reading rhythm and deliberate interaction · 20261011 */
:root { --ui-space:clamp(1rem,2vw,1.5rem); }
body :is(.service-card,.story-panel,.docs-feature) { border-radius:20px; }
body .service-card { padding:clamp(1.25rem,2.4vw,1.75rem); min-height:260px; }
body .service-copy h3 { letter-spacing:-.025em; line-height:1.3; }
body .service-copy p { font-size:.9rem; line-height:1.85; }
body .service-meta { line-height:1.6; }
body .service-icon { margin-bottom:1.5rem; }
body .service-card:hover { transform:translateY(-2px); }
body .service-card:focus-visible { outline:3px solid var(--cyan,currentColor); outline-offset:4px; }
body .section-heading h2 { font-size:clamp(1.9rem,4vw,3rem); line-height:1.2; }
body .section-heading > p { max-width:38ch; }
body :is(.lead,.lede) { max-width:60ch; }
body .docs-markdown { max-width:76ch; margin-inline:auto; }
body .docs-markdown :is(p,li) { line-height:1.9; }
body .docs-reading-nav a { min-height:44px; display:inline-flex;align-items:center; }
body :is(input[type=search],#docs-filter) { min-height:48px; }
body .docs-meta span { line-height:1.5; }
body .footer nav a { display:inline-flex;align-items:center;min-height:36px; }
.service-filters { display:flex;flex-wrap:wrap;gap:.6rem;margin:0 0 1rem; }
.service-filters button { font:inherit;font-size:.85rem;padding:.65rem 1rem;min-height:44px;border-radius:999px;border:1px solid var(--line);background:var(--surface);color:var(--muted);cursor:pointer; }
.service-filters button[aria-pressed=true] { background:var(--text);color:var(--bg);border-color:var(--text); }
.service-results { color:var(--muted);font-size:.8rem;margin:0 0 1.25rem; }
.service-card[hidden] { display:none!important; }
@media(max-width:720px) { body .service-card { min-height:210px; } body .service-copy h3 { font-size:1.15rem; } body .story-panel { padding:1.5rem;min-height:auto; } body .proof { margin-bottom:4rem; } body .services-section { padding-bottom:4rem; } .service-filters { gap:.45rem; } }
@media(hover:none) { body .service-card:hover { transform:none; } }
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } body :is(.service-card,.story-panel) { transition:none; } }

/* Only the status dot is a fixed-size indicator. */
body .status-pill [data-status-label] { width:auto;height:auto;background:none;box-shadow:none;white-space:normal;line-height:1.5; }
