/* KNITFORM mobile-first finishing layer: public pages, account and help. */
.site-nav a,.site-header a,.mobile-nav-toggle { -webkit-tap-highlight-color:transparent; }
.mobile-nav-toggle { display:none; }
@media (max-width: 1000px) and (min-width: 761px) {
  .header-inner { gap:16px; flex-wrap:wrap; padding-block:10px; }
  .site-nav { order:3; flex:1 1 100%; justify-content:center; margin:0; gap:clamp(12px,2vw,26px); }
  .site-nav a { padding:7px 3px; }
  .header-cta { margin-left:auto; }
}
@media (max-width: 760px) {
  .site-header { position:sticky; top:0; z-index:60; }
  .header-inner { display:grid; grid-template-columns:minmax(0,1fr) auto; grid-template-rows:auto auto auto; gap:9px 10px; padding:11px 0; min-height:0; align-items:center; }
  .header-inner .brand { grid-area:1 / 1; min-width:0; margin:0; }
  .header-inner .brand-type { min-width:0; }
  .header-inner .brand-type strong { font-size:clamp(12px,3.4vw,14px); letter-spacing:.13em; }
  .header-inner .brand-type small { font-size:7px; letter-spacing:.2em; }
  .mobile-nav-toggle { grid-area:1 / 2; display:inline-flex; align-items:center; justify-content:center; gap:7px; min-height:42px; padding:7px 12px; border:1px solid #e6ddec; background:#fff; border-radius:11px; color:#55456f; font-weight:750; font-size:12px; font-family:inherit; line-height:1.2; cursor:pointer; white-space:nowrap; }
  .mobile-nav-toggle:focus-visible { outline:3px solid #967bbd; outline-offset:2px; }
  .mobile-nav-toggle>span:first-child { font-size:18px; line-height:1; }
  .header-inner>.account-entry { grid-area:2 / 1; justify-self:stretch; display:flex; align-items:center; justify-content:center; min-width:0; min-height:42px; margin:0; white-space:normal; text-align:center; line-height:1.2; }
  .header-inner>.header-cta { grid-area:2 / 2; justify-self:stretch; display:flex; justify-content:center; min-width:0; min-height:42px; padding:8px 13px; margin:0; white-space:nowrap; }
  .header-inner:not(:has(>.account-entry))>.header-cta { grid-column:1 / -1; }
  .header-inner>.site-nav { grid-area:3 / 1 / 4 / -1; display:none; flex-direction:column; margin:1px 0 0; padding:8px; gap:2px; border-radius:13px; background:#f6f2fa; border:1px solid #e8ddf1; white-space:normal; }
  .site-header.kf-nav-open .header-inner>.site-nav { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }
  .header-inner>.site-nav a { padding:12px 10px; border-radius:9px; min-height:44px; font-size:13px; overflow-wrap:anywhere; }
  .header-inner>.site-nav a:hover,.header-inner>.site-nav a:focus-visible { background:#ece3f6; }
  .hero-copy h1 { font-size:clamp(42px,12vw,60px); overflow-wrap:break-word; }
  .hero-grid { padding-block:44px 54px; gap:29px; }
  .hero-lead { font-size:clamp(18px,5.2vw,22px); }
  .hero-sub { font-size:13px; }
  .hero-actions>.btn { flex:1 1 170px; white-space:normal; text-align:center; }
  .intro-list span { white-space:normal; }
  .visual-stage { padding-inline:6px; }
  .sample-sheet { max-width:100%; }
  .article { min-width:0; overflow-wrap:anywhere; }
  .article :is(pre,table) { max-width:100%; overflow-x:auto; }
  .article-nav { overflow-x:auto; flex-wrap:nowrap; padding-bottom:8px; scrollbar-width:thin; }
  .article-nav a { flex:0 0 auto; }
  .contact-card,.account-card { min-width:0; }
  .footer-links { row-gap:10px; }
}
@media (max-width: 390px) {
  .container { width:calc(100% - 28px); }
  .hero-actions>.btn { flex-basis:100%; }
  .sample-sheet { padding:17px 10px; }
  .chart-row { grid-template-columns:19px repeat(12,minmax(0,1fr)); }
  .chart-row>* { height:25px; font-size:12px; }
  .sample-chip { font-size:8px; padding:3px 5px; }
  .header-inner>.header-cta { font-size:11px; }
  .subpage-hero h1 { font-size:32px; }
  .article { padding:23px 17px; }
}
@media (hover:none) and (pointer:coarse) {
  .site-nav a,.article-nav a,.footer-links a { touch-action:manipulation; }
}

/* Brand refinement shared by the public pages and account workspace. */
@media screen {
  :root {
    --kf-ui-line:#e5dfe9;
    --kf-ui-ink:#302b3c;
    --kf-ui-muted:#625b70;
    --kf-ui-surface:#fffefd;
    --kf-ui-card-radius:18px;
    --kf-ui-control-radius:11px;
    --kf-ui-shadow:0 10px 30px rgba(47,40,66,.065);
  }
  .site-header { background:var(--kf-ui-surface); border-color:var(--kf-ui-line); backdrop-filter:none; }
  .site-nav a { display:inline-flex; align-items:center; min-height:44px; font-size:14px; color:#554e62; }
  .btn,.account-entry,.account-google,.kf-dashboard-new,.account-action {
    border-radius:var(--kf-ui-control-radius);
    transition:background-color .16s ease,border-color .16s ease,color .16s ease,box-shadow .16s ease,transform .16s ease;
  }
  .btn:active:not(:disabled),.account-google:active,.kf-dashboard-new:active { transform:translateY(0) scale(.99); }
  :is(button,input,textarea,select,a,summary):focus-visible { outline:3px solid #795fb1; outline-offset:3px; }
  .eyebrow { font-size:12px; letter-spacing:.16em; }
  .hero-copy h1 { letter-spacing:-.07em; line-height:1.12; }
  .hero-sub { color:var(--kf-ui-muted); line-height:1.78; }
  .hero-note { font-size:13px; color:#6c6478; }
  .sample-sheet { transform:rotate(.6deg); border-color:var(--kf-ui-line); box-shadow:0 22px 58px rgba(47,40,66,.13); }
  .section-lead>p { font-size:16px; color:var(--kf-ui-muted); }
  .feature-card { border-color:var(--kf-ui-line); border-radius:var(--kf-ui-card-radius); box-shadow:var(--kf-ui-shadow); }
  .feature-card p,.step p,.note-inner p,.faq-list p { font-size:15px; line-height:1.75; color:var(--kf-ui-muted); }
  .feature-tag { font-size:11px; letter-spacing:.12em; color:#715b91; }
  .workflow-cta,.article { border-radius:var(--kf-ui-card-radius); }
  .subpage-hero { padding-block:64px 52px; }
  .subpage-hero p { font-size:16px; color:var(--kf-ui-muted); line-height:1.7; }
  .article-wrap { padding-top:40px; }
  .article { border-color:var(--kf-ui-line); }
  .article-nav a { display:flex; align-items:center; min-height:40px; font-size:14px; color:#625b70; }
  .article p,.article li { font-size:16px; line-height:1.8; color:#595366; }
  .article .small,.notice-draft { font-size:13px; }
  .footer-inner p,.footer-links { font-size:13px; }
  .copyright { font-size:12px; color:#6e6879; }
  .account-main { padding-block:48px 72px; }
  .account-heading p { font-size:15px; color:var(--kf-ui-muted); }
  .account-main:has(#kfMember:not([hidden])) { padding-top:28px; }
  .kf-dashboard-shell:has(#kfMember:not([hidden])) .account-heading {
    max-width:none; margin-bottom:18px; text-align:left;
  }
  .kf-dashboard-shell:has(#kfMember:not([hidden])) .account-heading .eyebrow,
  .kf-dashboard-shell:has(#kfMember:not([hidden])) .account-heading p { display:none; }
  .kf-dashboard-shell:has(#kfMember:not([hidden])) .account-heading h1 { font-size:30px; margin:0; }
  .account-card { border-color:var(--kf-ui-line); border-radius:var(--kf-ui-card-radius); box-shadow:var(--kf-ui-shadow); }
  .account-card p { font-size:15px; color:var(--kf-ui-muted); }
  .account-notice { font-size:14px; color:#5f5074; }
  .account-google { font-size:15px; }
  .account-mini { font-size:13px; }
  .kf-dashboard-kicker { font-size:11px; letter-spacing:.12em; }
  .kf-dashboard-profile,.kf-dashboard-stat,.kf-mcp-connect,.kf-pattern-card { border-radius:14px; }
  .kf-dashboard-profile { background:#faf8fc; border-color:var(--kf-ui-line); }
  .kf-dashboard-stat { background:#f5f0fa; border-color:#e7ddef; }
  .kf-mcp-connect { background:#faf8fc; border-color:var(--kf-ui-line); }
  .kf-mcp-connect ol { font-size:14px; }
  .kf-pattern-card { border-color:var(--kf-ui-line); box-shadow:0 4px 16px rgba(47,40,66,.045); }
  .kf-pattern-badge { font-size:11px; }
  .kf-pattern-meta,.kf-pattern-date { font-size:13px!important; color:#625b70!important; }
  .kf-pattern-open,.kf-pattern-delete,.kf-pattern-share,.kf-pattern-copy,.kf-pattern-revoke { min-height:44px; }
  .kf-pattern-search input,.kf-pattern-filter select { min-height:44px; }
}
@media screen and (max-width:760px) {
  .mobile-nav-toggle,.header-inner>.account-entry,.header-inner>.header-cta { min-height:44px; }
  .hero-grid { padding-block:38px 50px; }
  .hero-sub { font-size:15px; }
  .sample-sheet { transform:none; }
  .section { padding-block:64px; }
  .subpage-hero { padding-block:43px 36px; }
  .article-wrap { padding-top:22px; }
  .article-nav a { flex:0 0 auto; min-height:44px; font-size:12px; }
  .account-main { padding-block:36px 58px; }
  .account-main:has(#kfMember:not([hidden])) { padding-top:22px; }
  .kf-dashboard-shell:has(#kfMember:not([hidden])) .account-heading h1 { font-size:26px; }
  .account-card { padding:25px 22px; }
  .account-heading p { line-height:1.7; }
}
@media screen and (prefers-reduced-motion:reduce) {
  .btn,.account-entry,.account-google,.kf-dashboard-new,.account-action { transition:none; }
  .btn:active:not(:disabled),.account-google:active,.kf-dashboard-new:active { transform:none; }
}
