
.srchbox { display: flex; align-items: center; gap: 10px; max-width: 580px;
           padding: 7px 7px 7px 18px; background: var(--core);
           border: 1px solid var(--hair-strong); border-radius: var(--r-control);
           transition: border-color var(--dur) var(--ease); }
.srchbox:focus-within { border-color: var(--accent-line); }
.srchbox--wide { max-width: none; }
.srchbox__ico { flex: none; width: 20px; height: 20px; color: var(--muted); }
.srchbox__ctl { flex: 1 1 auto; min-width: 0; padding: 12px 0; border: 0; outline: none;
                background: none; color: var(--fg); font: inherit; font-size: var(--t-16); }
.srchbox__ctl::placeholder { color: var(--muted-2); }
.srchbox__ctl::-webkit-search-cancel-button { filter: invert(1) opacity(.45); }
.srchbox__go { flex: none; }
@media (max-width: 459px) {
  .srchbox { padding-left: 14px; }
  .srchbox__go .btn__label { display: none; }
}
.srchtags { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 16px; align-items: center; }
.srchtags > span { color: var(--muted); font-size: var(--t-13); }
.cards3 { display: grid; grid-template-columns: minmax(0, 1fr); gap: 14px; }
@media (min-width: 700px) { .cards3 { grid-template-columns: repeat(3, minmax(0,1fr)); } }
.pcard { display: flex; flex-direction: column; gap: 10px; padding: clamp(20px,2.2vw,26px);
         background: var(--core); border: 1px solid var(--hair-solid);
         border-radius: var(--r-core);
         transition: background var(--dur) var(--ease), border-color var(--dur) var(--ease); }
@media (hover: hover) {
  .pcard:hover { background: var(--core-2); border-color: var(--hair-strong); }
}
.pcard__kind { color: var(--accent); opacity: .85; }
.pcard__ttl { font-size: var(--t-20); font-weight: 700; line-height: 1.25; letter-spacing: -.01em; }
.pcard__d { font-size: var(--t-14); color: var(--fg-dim); line-height: 1.6; }
.pcard__go { margin-top: auto; padding-top: 8px; display: inline-flex; align-items: center;
             gap: 8px; font-size: var(--t-13); font-weight: 700; color: var(--accent); }
.pcard__go .ico { width: 16px; height: 16px; transition: transform var(--dur) var(--ease); }
@media (hover: hover) { .pcard:hover .pcard__go .ico { transform: translateX(4px); } }
.e404 { position: relative; overflow: hidden;
        padding-block: clamp(64px, 11vw, 148px) clamp(44px, 6vw, 86px); }
.e404__bg { position: absolute; inset: 0; z-index: 0; pointer-events: none; }
.e404__bg img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 40%;
                opacity: .32; filter: saturate(.4) brightness(.82) hue-rotate(-14deg); }
.e404__bg::after { content: ""; position: absolute; inset: 0;
  background: linear-gradient(180deg, rgba(5,5,5,.66), rgba(5,5,5,.52) 44%, var(--void)); }
.e404__in { position: relative; z-index: 1; max-width: 720px; }
.e404__code { margin: 0 0 clamp(10px,1.6vw,20px); font-family: var(--f-display);
              font-weight: 600; font-size: clamp(60px,12vw,158px); line-height: .82;
              letter-spacing: -.045em; color: rgba(255,255,255,.045);
              -webkit-text-stroke: 1px var(--accent-line); }
.e404__sub { margin: 16px 0 clamp(24px,3vw,34px); font-size: clamp(16px,1.9vw,19px);
             line-height: 1.6; color: var(--fg-dim); max-width: 54ch; }
.e404__hint { margin-top: 16px; font-size: var(--t-14); color: var(--muted); }
.crumbs { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 10px;
          margin-bottom: clamp(18px,2.4vw,28px); font-size: var(--t-13); color: var(--muted); }
.crumbs a { color: var(--muted); transition: color var(--dur) var(--ease); }
@media (hover: hover) { .crumbs a:hover { color: var(--accent); } }
.crumbs .ico { width: 13px; height: 13px; opacity: .5; }
.crumbs [aria-current] { color: var(--fg-dim); }
.phead { position: relative; padding-block: clamp(30px,5vw,64px) clamp(28px,4vw,52px); }
.phead__in { max-width: 62ch; }
.phead__sub { margin-top: 18px; font-size: clamp(16px,1.9vw,19px); line-height: 1.6;
              color: var(--fg-dim); }
.phead__meta { margin-top: 20px; display: flex; flex-wrap: wrap; gap: 10px 22px;
               align-items: center; font-size: var(--t-14); color: var(--muted); }
.phead--wide .phead__in { max-width: none; }
.doc__grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: clamp(28px,4vw,54px); align-items: start; }
@media (min-width: 1000px) {
  .doc__grid { grid-template-columns: minmax(0,268px) minmax(0,1fr); }
}
.doc__aside { position: static; }
@media (min-width: 1000px) {
  .doc__aside { position: sticky; top: 104px; }
}
.toc { padding: 18px 18px 20px; background: var(--core); border: 1px solid var(--hair-solid);
       border-radius: var(--r-core); }
.toc__ttl { display: block; color: var(--muted); margin-bottom: 12px; }
.toc__list { list-style: none; margin: 0; padding: 0; counter-reset: toc;
             display: flex; flex-direction: column; gap: 2px; }
.toc__list a { display: flex; gap: 9px; padding: 7px 9px; border-radius: 10px;
               font-size: var(--t-14); line-height: 1.4; color: var(--muted);
               transition: color var(--dur) var(--ease), background var(--dur) var(--ease); }
.toc__list a::before { counter-increment: toc; content: counter(toc);
                       flex: none; width: 1.4em; text-align: right; opacity: .6;
                       font-variant-numeric: tabular-nums; }
@media (hover: hover) { .toc__list a:hover { color: var(--fg); background: var(--core-2); } }
.toc__list a.is-on { color: var(--accent-ink); background: var(--accent); font-weight: 700; }
.toc__list a.is-on::before { opacity: .7; }
.doc__tools { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 14px; }
.prose { max-width: 76ch; font-size: var(--t-16); line-height: 1.72; color: var(--fg-dim); }
.prose > h2 { margin: clamp(34px,4vw,52px) 0 14px; font-size: clamp(20px,2.4vw,26px);
              line-height: 1.25; color: var(--fg); scroll-margin-top: 110px; }
.prose > h2:first-child { margin-top: 0; }
.prose > h3 { margin: 26px 0 10px; font-size: var(--t-20); color: var(--fg); }
.prose p { margin: 0 0 14px; }
.prose ul { list-style: disc; margin: 0 0 16px; padding-left: 1.35em; }
.prose ol { list-style: decimal; margin: 0 0 16px; padding-left: 1.5em; }
.prose li { margin-bottom: 8px; }
.prose li::marker { color: var(--accent); }
.prose b, .prose strong { color: var(--fg); font-weight: 700; }
.prose a { color: var(--accent); text-decoration: underline;
           text-underline-offset: 3px; text-decoration-thickness: 1px; }
.prose__note { margin: 22px 0; padding: 16px 18px; border-radius: var(--r-core);
               border: 1px solid var(--hair); background: var(--core);
               font-size: var(--t-14); line-height: 1.6; }
.prose__note b { display: block; margin-bottom: 6px; color: var(--fg); }
.prose .tbl { margin-bottom: 20px; }
.fig { margin: 26px 0 28px; }
.fig__frame { display: block; overflow: hidden; border: 1px solid var(--hair);
              border-radius: var(--r-in); background: var(--core); }
.fig__frame img { display: block; width: 100%; height: auto; }
.fig__frame--art { padding: clamp(16px,2.6vw,26px); color: var(--fg); }
.fig__svg { display: block; width: 100%; max-width: 580px; height: auto; margin: 0 auto; }
.fig__svg--narrow { max-width: 420px; }
.fig figcaption { margin-top: 10px; font-size: var(--t-14); line-height: 1.6; color: var(--muted); }
@media (hover: hover) {
  .fig__frame--shot { transition: border-color var(--dur-fast) var(--ease); }
  .fig__frame--shot:hover { border-color: var(--accent-line); }
}
@media print {
  .head-top, .head, .foot, .sticky-bar, .fx, .doc__aside, .modal, .skip-link { display: none !important; }
  body { background: #fff; color: #111; }
  .prose, .prose > h2, .prose b { color: #111; }
  .prose a { color: #111; }
  .sec { padding-block: 0; }
  .doc__grid { display: block; }
  .prose { max-width: none; font-size: 11pt; line-height: 1.5; }
}
.phead__meta > span { display: inline-flex; align-items: center; gap: 8px; }
.phead__meta .ico { flex: none; color: var(--muted-2); }
.tree { display: flex; flex-direction: column; gap: clamp(28px,3.4vw,44px); }
.tree__g { padding-top: clamp(22px,2.6vw,30px); border-top: 1px solid var(--hair); }
.tree__g:first-child { padding-top: 0; border-top: 0; }
.tree__ttl { font-size: clamp(20px,2.4vw,26px); line-height: 1.2; }
.tree__lead { margin-top: 8px; font-size: var(--t-14); color: var(--muted); max-width: 62ch; }
.tree__list { margin-top: 18px; list-style: none; padding: 0;
              display: grid; grid-template-columns: minmax(0, 1fr); gap: 2px 24px; }
@media (min-width: 620px)  { .tree__list { grid-template-columns: repeat(2, minmax(0,1fr)); } }
@media (min-width: 1000px) { .tree__list { grid-template-columns: repeat(3, minmax(0,1fr)); } }
.tree__list a { display: block; padding: 7px 10px; margin-left: -10px; border-radius: 9px;
                font-size: var(--t-14); line-height: 1.45; color: var(--fg-dim);
                transition: color var(--dur) var(--ease), background var(--dur) var(--ease); }
@media (hover: hover) {
  .tree__list a:hover { color: var(--accent); background: var(--core); }
}
.srch__count { margin-bottom: 20px; font-size: var(--t-14); color: var(--muted); }
.srch__count:empty { display: none; }
.srch__list { list-style: none; margin: 0; padding: 0;
              display: flex; flex-direction: column; gap: 10px; }
.srch__list:empty { display: none; }
.srch__a { display: flex; flex-direction: column; gap: 7px;
           padding: clamp(16px,2vw,22px) clamp(18px,2.2vw,26px);
           background: var(--core); border: 1px solid var(--hair-solid);
           border-radius: var(--r-core);
           transition: background var(--dur) var(--ease), border-color var(--dur) var(--ease); }
@media (hover: hover) {
  .srch__a:hover { background: var(--core-2); border-color: var(--hair-strong); }
}
.srch__kind { color: var(--accent); opacity: .85; }
.srch__ttl { font-size: var(--t-20); font-weight: 700; line-height: 1.3; color: var(--fg); }
.srch__d { font-size: var(--t-14); line-height: 1.6; color: var(--fg-dim); }
.srch__url { font-size: var(--t-13); color: var(--muted-2); }
.srch__a mark { background: var(--accent-dim); color: var(--accent);
                border-radius: 3px; padding: 0 2px; }
.srch__empty { margin-top: 8px; }
.srch__emptyttl { font-size: clamp(20px,2.4vw,26px); line-height: 1.25; }
.srch__emptylead { margin-top: 10px; font-size: var(--t-16); color: var(--fg-dim);
                   max-width: 58ch; line-height: 1.6; }
.srch__ways { margin-top: clamp(22px,2.6vw,30px); display: grid; grid-template-columns: minmax(0, 1fr); gap: 10px; }
@media (min-width: 760px)  { .srch__ways { grid-template-columns: repeat(2, minmax(0,1fr)); } }
@media (min-width: 1180px) { .srch__ways { grid-template-columns: repeat(3, minmax(0,1fr)); } }
.srch__ways .linkcard { display: flex; align-items: flex-start; }
.cts { margin-top: clamp(28px,3.4vw,44px); display: grid; grid-template-columns: minmax(0, 1fr); gap: 12px; }
@media (min-width: 760px) { .cts { grid-template-columns: repeat(3, minmax(0,1fr)); } }
.cts__i { position: relative; display: flex; flex-direction: column; gap: 8px;
          padding: clamp(20px,2.4vw,28px); background: var(--core);
          border: 1px solid var(--hair-solid); border-radius: var(--r-core); }
.cts__i .iconbox { margin-bottom: 6px; }
.cts__k { color: var(--muted); }
.cts__v { font-family: var(--f-display); font-weight: 500; letter-spacing: -.02em;
          font-size: clamp(19px,2.1vw,23px); line-height: 1.2; color: var(--fg);
          overflow-wrap: normal; word-break: keep-all;
          transition: color var(--dur) var(--ease); }
@media (hover: hover) { .cts__v:hover { color: var(--accent); } }
.cts__d { font-size: var(--t-13); line-height: 1.55; color: var(--muted); }
.cts__copy { margin-top: 12px; align-self: flex-start; display: inline-flex; align-items: center;
             gap: 7px; padding: 7px 12px; border-radius: var(--r-control);
             border: 1px solid var(--hair); background: none; cursor: pointer;
             font: inherit; font-size: var(--t-13); font-weight: 600; color: var(--muted);
             transition: color var(--dur) var(--ease), border-color var(--dur) var(--ease); }
.cts__copy .ico { width: 15px; height: 15px; }
@media (hover: hover) {
  .cts__copy:hover { color: var(--fg); border-color: var(--hair-strong); }
}
.cts__copy.is-done { color: var(--accent); border-color: var(--accent-line); }
.work { margin-top: clamp(18px,2.2vw,26px); display: flex; flex-wrap: wrap;
        align-items: center; gap: 8px 14px; font-size: var(--t-14); color: var(--fg-dim); }
.work__dot { width: 9px; height: 9px; border-radius: 50%; flex: none;
             background: var(--muted-2); }
.work.is-open .work__dot { background: var(--ok); box-shadow: 0 0 0 4px rgba(74,222,128,.16); }
.work.is-closed .work__dot { background: var(--warn); box-shadow: 0 0 0 4px rgba(251,191,36,.14); }
.work__hint { color: var(--muted); }
.msgrow { display: flex; flex-wrap: wrap; gap: 20px 32px; align-items: center;
          justify-content: space-between; }
.msgrow__ttl { font-size: clamp(21px,2.6vw,28px); line-height: 1.2; }
.msgrow__sub { margin-top: 8px; font-size: var(--t-14); color: var(--fg-dim); max-width: 48ch; }
.msgrow__btns { display: flex; flex-wrap: wrap; gap: 10px; }
.speed { grid-template-columns: minmax(0,1fr); }
@media (min-width: 860px) { .speed { grid-template-columns: repeat(3, minmax(0,1fr)); } }
.speed__i { display: flex; flex-direction: column; gap: 8px; padding: clamp(22px,2.6vw,30px); }
.speed__v { font-family: var(--f-display); font-weight: 600; letter-spacing: -.03em;
            font-size: clamp(34px,4.6vw,52px); line-height: 1; color: var(--accent); }
.speed__v em { font-style: normal; font-family: var(--f-body); font-weight: 700;
               font-size: var(--t-16); letter-spacing: 0; color: var(--fg-dim); }
.speed__k { font-size: var(--t-16); font-weight: 700; color: var(--fg); margin-top: 4px; }
.speed__d { font-size: var(--t-14); line-height: 1.6; color: var(--muted); }
.geo { display: grid; grid-template-columns: minmax(0, 1fr); gap: clamp(28px,3.4vw,48px); align-items: start; }
@media (min-width: 1000px) { .geo { grid-template-columns: minmax(0,1fr) minmax(0,.92fr);
                                             align-items: stretch; } }
.geo__list { margin-top: clamp(22px,2.6vw,30px); list-style: none; padding: 0;
             display: flex; flex-direction: column; gap: 18px; }
.geo__list li { display: flex; gap: 14px; }
.geo__list .ico { flex: none; width: 22px; height: 22px; margin-top: 2px; color: var(--accent); }
.geo__list b { display: block; font-size: var(--t-16); margin-bottom: 5px; color: var(--fg); }
.geo__list span > span, .geo__list li > span { font-size: var(--t-14); line-height: 1.6;
                                               color: var(--fg-dim); }
.mapbox { position: relative; border: 1px solid var(--hair-solid);
          border-radius: var(--r-core); overflow: hidden; background: var(--core);
          min-height: 320px; }
.mapbox__stub { position: relative; min-height: 320px; height: 100%; }
.mapbox__art { position: absolute; inset: 0; width: 100%; height: 100%;
               color: rgba(255,255,255,.3); }
.mapbox__over { position: relative; z-index: 1; display: flex; flex-direction: column;
                align-items: flex-start; gap: 12px; justify-content: flex-end;
                min-height: 320px; height: 100%; padding: clamp(20px,2.4vw,28px);
                background: linear-gradient(180deg, transparent 18%,
              rgba(5,5,5,.72) 46%, rgba(5,5,5,.94)); }
.mapbox__k { display: inline-flex; align-items: center; gap: 8px; color: var(--accent); }
.mapbox__t { font-size: var(--t-14); line-height: 1.6; color: var(--fg-dim); max-width: 42ch; }
.mapbox iframe { position: absolute; inset: 0; z-index: 2;
                 width: 100%; height: 100%; border: 0; }
.mapbox.is-map .mapbox__over { opacity: 0; pointer-events: none; }
.req {  }
.req__i { display: flex; flex-direction: column; gap: 7px; padding: clamp(20px,2.2vw,26px); }
.req__k { color: var(--muted); }
.req__v { font-size: var(--t-16); font-weight: 700; line-height: 1.35; color: var(--fg); }
.req__d { font-size: var(--t-13); line-height: 1.55; color: var(--muted); }
.req .cts__copy { margin-top: 6px; }
.mani { display: grid; grid-template-columns: minmax(0, 1fr); gap: clamp(30px,3.6vw,52px); align-items: start; }
@media (min-width: 1000px) { .mani { grid-template-columns: minmax(0,1fr) minmax(0,340px); } }
.mani__q { margin: clamp(18px,2.2vw,26px) 0 clamp(20px,2.4vw,28px); max-width: 40ch; }
.mani__p { margin-bottom: 14px; font-size: var(--t-16); line-height: 1.7;
           color: var(--fg-dim); max-width: 68ch; }
.mani__p b { color: var(--fg); }
.mani__sign { margin-top: clamp(22px,2.6vw,30px); display: flex; align-items: center; gap: 14px; }
.mani__sign b { display: block; font-size: var(--t-16); }
.mani__sign span { font-size: var(--t-13); color: var(--muted); }
.mani__facts { display: grid; gap: 1px; background: var(--hair-solid);
               border: 1px solid var(--hair-solid); border-radius: var(--r-core);
               overflow: hidden; grid-template-columns: repeat(2, minmax(0,1fr)); }
@media (min-width: 1000px) { .mani__facts { grid-template-columns: minmax(0,1fr); } }
.mani__fact { background: var(--core); padding: clamp(16px,2vw,22px); }
.mani__fact b { display: block; font-family: var(--f-display); font-weight: 600;
                font-size: clamp(26px,3.4vw,38px); line-height: 1; letter-spacing: -.03em;
                color: var(--accent); }
.mani__fact span { display: block; margin-top: 7px; font-size: var(--t-13);
                   line-height: 1.5; color: var(--muted); }
.fold--num .fold__btn { align-items: baseline; gap: 14px; flex-wrap: wrap; }
.fold__num { font-family: var(--f-display); font-weight: 600; letter-spacing: -.02em;
            font-size: clamp(19px,2.2vw,25px); color: var(--accent); flex: none; }
.fold__cap { font-size: var(--t-14); font-weight: 400; color: var(--muted); flex: 1 1 auto; }
.fold__list { margin: 10px 0 12px; padding-left: 1.3em; list-style: disc; }
.fold__list li { margin-bottom: 6px; }
.fold__list li::marker { color: var(--accent); }
.fold__list b { color: var(--fg); }
.bento__ex { margin-top: 10px; padding-top: 10px; border-top: 1px solid var(--hair);
             font-size: var(--t-13); line-height: 1.6; color: var(--muted); }
.founder__more { margin-top: 12px; font-size: var(--t-14); line-height: 1.65; color: var(--muted); }
.stack { display: grid; grid-template-columns: minmax(0, 1fr); gap: 14px; }
@media (min-width: 900px) { .stack { grid-template-columns: repeat(2, minmax(0,1fr)); } }
.stack__g { padding: clamp(20px,2.4vw,28px); background: var(--core);
            border: 1px solid var(--hair-solid); border-radius: var(--r-core); }
.stack__k { display: block; color: var(--muted); margin-bottom: 14px; }
.stack__chips { display: flex; flex-wrap: wrap; gap: 8px; }
.stack__d { margin-top: 16px; font-size: var(--t-14); line-height: 1.65; color: var(--fg-dim); }
.mkt { grid-template-columns: minmax(0,1fr); }
@media (min-width: 900px) { .mkt { grid-template-columns: repeat(3, minmax(0,1fr)); } }
.mkt__i { display: flex; flex-direction: column; gap: 9px; padding: clamp(22px,2.6vw,30px); }
.mkt__v { font-family: var(--f-display); font-weight: 600; letter-spacing: -.03em;
          font-size: clamp(32px,4.2vw,48px); line-height: 1; color: var(--accent); }
.mkt__v em { font-style: normal; font-size: .6em; }
.mkt__k { font-size: var(--t-16); line-height: 1.35; color: var(--fg); }
.mkt__d { font-size: var(--t-14); line-height: 1.6; color: var(--fg-dim); }
.mkt__src { margin-top: auto; padding-top: 10px; font-size: var(--t-12); color: var(--muted-2); }
.prom { display: grid; grid-template-columns: minmax(0, 1fr); gap: 14px; }
@media (min-width: 900px) { .prom { grid-template-columns: repeat(3, minmax(0,1fr)); } }
.prom__i { position: relative; padding: clamp(24px,2.8vw,32px); background: var(--core);
           border: 1px solid var(--hair-solid); border-radius: var(--r-core); }
.prom__n { position: absolute; top: clamp(20px,2.4vw,26px); right: clamp(20px,2.4vw,26px);
           font-family: var(--f-display); font-size: var(--t-13); color: var(--muted-2); }
.prom__q { margin: 0 0 12px; padding-left: 16px; border-left: 2px solid var(--accent);
           font-size: clamp(16px,1.9vw,19px); font-weight: 700; line-height: 1.4;
           color: var(--fg); max-width: 30ch; }
.prom__d { font-size: var(--t-14); line-height: 1.65; color: var(--fg-dim); }
.share { display: grid; grid-template-columns: minmax(0, 1fr); gap: clamp(28px,3.4vw,48px); align-items: start; }
@media (min-width: 1000px) { .share { grid-template-columns: minmax(0,1fr) minmax(0,.95fr); } }
.share__p { margin-top: 14px; font-size: var(--t-16); line-height: 1.7; color: var(--fg-dim); }
.share__cond { grid-template-columns: minmax(0,1fr); }
.share__i { display: flex; flex-direction: column; gap: 7px; padding: clamp(18px,2.2vw,24px); }
.share__i b { font-size: var(--t-16); color: var(--fg); }
.share__i > span:last-child { font-size: var(--t-14); line-height: 1.6; color: var(--fg-dim); }
.share__k { color: var(--muted); }
.share__i--no .share__k { color: var(--warn); }
.nope { grid-template-columns: minmax(0,1fr); }
@media (min-width: 860px) { .nope { grid-template-columns: repeat(2, minmax(0,1fr)); } }
.nope__i { display: flex; flex-direction: column; gap: 10px; padding: clamp(22px,2.6vw,30px); }
.nope__i .iconbox { color: var(--muted-2); }
.nope__i b { font-size: var(--t-20); line-height: 1.3; color: var(--fg); }
.nope__i p { margin: 0; font-size: var(--t-14); line-height: 1.65; color: var(--fg-dim); }
.nope__go { margin-top: auto; padding-top: 10px; font-size: var(--t-13);
            line-height: 1.55; color: var(--muted); }
.nope__go a { color: var(--accent); }
.docs { margin-top: 14px; display: grid; grid-template-columns: minmax(0, 1fr); gap: 12px; }
@media (min-width: 760px) { .docs { grid-template-columns: repeat(2, minmax(0,1fr)); } }
.doc { display: flex; align-items: center; gap: 14px;
       padding: clamp(16px,1.9vw,20px) clamp(18px,2.1vw,22px);
       background: var(--core); border: 1px solid var(--hair-solid);
       border-radius: var(--r-core);
       transition: background var(--dur) var(--ease), border-color var(--dur) var(--ease); }
@media (hover: hover) {
  .doc:hover { background: var(--core-2); border-color: var(--accent-line); }
  .doc:hover .iconbox { color: var(--accent); border-color: var(--accent-line); }
  .doc:hover .doc__go { color: var(--accent); transform: translateY(2px); }
}
.doc__t { flex: 1; min-width: 0; }
.doc__t b { display: block; font-size: var(--t-16); line-height: 1.3; color: var(--fg); }
.doc__t > span { display: block; margin-top: 5px; font-size: var(--t-13);
                 line-height: 1.5; color: var(--muted); }
.doc__go { flex: none; width: 20px; height: 20px; color: var(--muted-2);
           transition: color var(--dur) var(--ease), transform var(--dur) var(--ease); }
.people { display: grid; grid-template-columns: minmax(0, 1fr); gap: 14px; }
.person { display: flex; gap: 16px; padding: clamp(20px,2.4vw,26px);
          background: var(--core); border: 1px solid var(--hair);
          border-radius: var(--r-core); }
.person__body { min-width: 0; }
.person__name { font-size: var(--t-20); font-weight: 700; line-height: 1.25;
                letter-spacing: -.01em; margin: 0; }
.person__role { display: block; margin-top: 6px; color: var(--muted); }
.person__q { margin: 14px 0 0; padding-left: 16px; border-left: 2px solid var(--accent);
             font-family: var(--f-display); font-size: clamp(16px,1.9vw,19px);
             line-height: 1.4; color: var(--fg); }
.person__d { margin: 12px 0 0; font-size: var(--t-14); line-height: 1.65; color: var(--fg-dim); }
.person__d b { color: var(--fg); }
.person .chip { margin-top: 14px; }
.person--lead { background: var(--core-2); }
@media (max-width: 559px) {
  .person { flex-direction: column; gap: 12px; }
}
@media (min-width: 760px) {
  .people { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .person--lead { grid-column: 1 / -1; }
}
@media (min-width: 1180px) {
  .people { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
.tiles { border-radius: var(--r-core); overflow: hidden; }
.tile { display: flex; flex-direction: column; align-items: flex-start; gap: 10px;
        padding: clamp(20px,2.4vw,28px); }
.tile__t { font-size: var(--t-16); font-weight: 700; line-height: 1.35; color: var(--fg); }
.tile__d { margin: 0; font-size: var(--t-14); line-height: 1.65; color: var(--fg-dim); }
.obj { list-style: none; margin: 0; padding: 0; display: grid; gap: 2px;
       background: var(--hair-solid); border-radius: var(--r-core); overflow: hidden; }
.obj__i { position: relative; padding: clamp(20px,2.6vw,30px) clamp(20px,2.6vw,30px)
          clamp(20px,2.6vw,30px) clamp(52px,6vw,74px); background: var(--core); }
.obj__i::before { content: ""; position: absolute; left: 0; top: 0; bottom: 0;
                  width: 2px; background: var(--accent); opacity: .35;
                  transition: opacity var(--dur) var(--ease); }
.obj__n { position: absolute; left: clamp(20px,2.6vw,30px); top: clamp(21px,2.7vw,32px);
          font-family: var(--f-display); font-size: var(--t-14); font-weight: 600;
          color: var(--accent); opacity: .8; }
.obj__t { margin: 0; font-size: clamp(17px,2vw,20px); font-weight: 700;
          line-height: 1.3; letter-spacing: -.01em; }
.obj__d { margin: 10px 0 0; font-size: var(--t-15); line-height: 1.65; color: var(--fg-dim); }
@media (hover: hover) { .obj__i:hover::before { opacity: 1; } }
.rows { display: grid; border-top: 1px solid var(--hair); }
.row { display: grid; grid-template-columns: minmax(0, 1fr); gap: 4px 16px; padding: 18px 4px; align-items: center;
       border-bottom: 1px solid var(--hair); color: var(--fg);
       transition: transform var(--dur) var(--ease), padding var(--dur) var(--ease); }
.row__kind { color: var(--muted); }
.row__t { font-size: var(--t-16); font-weight: 600; line-height: 1.35; }
.row__m { font-size: var(--t-14); color: var(--fg-dim); }
.row__m b { color: var(--accent); font-family: var(--f-display); font-weight: 600; }
.row__go { width: 18px; height: 18px; color: var(--muted-2); justify-self: end;
           transition: transform var(--dur) var(--ease), color var(--dur) var(--ease); }
@media (min-width: 900px) {
  .row { grid-template-columns: 168px minmax(0, 1fr) 232px 24px; padding: 20px 4px; }
  .row:not(:has(.row__go)) { grid-template-columns: 168px minmax(0, .85fr) minmax(0, 1.15fr); }
}
@media (hover: hover) {
  .row:hover { padding-left: 12px; }
  .row:hover .row__go { transform: translate3d(4px, 0, 0); color: var(--accent); }
  .row:hover .row__m b { color: var(--accent); }
}
@media (prefers-reduced-motion: reduce) {
  .row, .row__go { transition: none; }
  .row:hover { padding-left: 4px; }
}
.hairgrid--fill { grid-template-columns: minmax(0, 1fr); }
@media (min-width: 620px) {
  .hairgrid--fill { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (min-width: 620px) and (max-width: 999.98px) {
  .hairgrid--fill > :nth-child(2n+1):last-child { grid-column: span 2; }
}
@media (min-width: 1000px) {
  .hairgrid--fill { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .hairgrid--fill > :nth-child(3n+1):last-child { grid-column: span 3; }
  .hairgrid--fill > :nth-child(3n+2):last-child { grid-column: span 2; }
  .hairgrid--fill:has(> :nth-child(4):last-child) {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .hairgrid--fill:has(> :nth-child(4):last-child) > :last-child { grid-column: auto; }
}
.leave { display: grid; grid-template-columns: minmax(0, 1fr); gap: clamp(24px,3vw,40px); align-items: start; }
@media (min-width: 980px) { .leave { grid-template-columns: minmax(0,1fr) minmax(0,1fr); } }
.seal { position: relative; margin-top: clamp(28px,4vw,44px);
        padding: clamp(26px,3.4vw,44px); border-radius: var(--r-shell);
        background: var(--core-2); border: 1px solid var(--hair);
        box-shadow: inset 0 0 0 1px rgba(200,242,74,.08);
        transition: transform var(--dur) var(--ease); }
.seal__mark { position: absolute; top: clamp(20px,2.6vw,30px); right: clamp(20px,2.6vw,30px);
              display: grid; place-items: center; width: 46px; height: 46px;
              border-radius: 999px; border: 1px solid rgba(200,242,74,.35);
              color: var(--accent); }
.seal__t { margin: 0; max-width: 26ch; font-family: var(--f-display); font-weight: 500;
           font-size: clamp(20px,3vw,32px); line-height: 1.3; letter-spacing: -.015em;
           color: var(--fg); }
.seal__cond { display: flex; flex-wrap: wrap; gap: 10px 22px;
              margin-top: clamp(20px,2.6vw,28px); padding-top: clamp(16px,2vw,22px);
              border-top: 1px solid var(--hair); }
.seal__cond span { display: inline-flex; align-items: center; gap: 8px;
                   font-size: var(--t-13); color: var(--fg-dim); }
.seal__cond .ico { color: var(--accent); flex: none; }
.seal__req { margin-top: 16px; font-size: var(--t-13); color: var(--muted); }
@media (hover: hover) { .seal:hover { transform: rotate(-.5deg); } }
@media (prefers-reduced-motion: reduce) {
  .seal { transition: none; }
  .seal:hover { transform: none; }
}
.pay { list-style: none; margin: 0; padding: 0; display: grid; gap: 2px;
       background: var(--hair-solid); border-radius: var(--r-core); overflow: hidden; }
.pay__i { position: relative; display: grid; grid-template-columns: minmax(0, 1fr); gap: 6px; background: var(--core);
          padding: clamp(20px,2.6vw,28px) clamp(20px,2.6vw,30px);
          padding-left: clamp(24px,3vw,38px); }
.pay__i::before { content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 3px;
                  background: var(--accent); opacity: .3;
                  transition: opacity var(--dur) var(--ease); }
.pay__n { color: var(--muted); }
.pay__t { font-size: var(--t-18); font-weight: 700; line-height: 1.3; color: var(--fg); }
.pay__price { font-size: var(--t-13); font-weight: 700; color: var(--accent); }
.pay__d { margin: 4px 0 0; font-size: var(--t-14); line-height: 1.65; color: var(--fg-dim); }
@media (min-width: 760px) {
  .pay__i { grid-template-columns: 96px minmax(0,1fr) 168px; align-items: baseline; gap: 6px 20px; }
  .pay__t { grid-column: 2; }
  .pay__price { grid-column: 3; text-align: right; }
  .pay__d { grid-column: 2 / 4; }
}
@media (hover: hover) { .pay__i:hover::before { opacity: 1; } }
@media (prefers-reduced-motion: reduce) { .pay__i::before { transition: none; } }
.chk { padding: clamp(20px,2.6vw,30px); background: var(--core);
       border: 1px solid var(--hair); border-radius: var(--r-core); }
.chk__bar { height: 3px; border-radius: 999px; background: var(--hair-solid); overflow: hidden; }
.chk__fill { display: block; height: 100%; background: var(--accent);
             transition: width var(--dur) var(--ease); }
.chk__count { margin: 12px 0 18px; font-size: var(--t-13); color: var(--muted); }
.chk.is-done .chk__count { color: var(--accent); }
.chk__list { list-style: none; margin: 0; padding: 0; display: grid; gap: 2px; }
.chk__i { display: flex; align-items: flex-start; gap: 14px; padding: 14px 12px;
          border-radius: var(--r-in); cursor: pointer;
          transition: background var(--dur) var(--ease); }
.chk__i input { position: absolute; opacity: 0; width: 0; height: 0; }
.chk__box { display: grid; place-items: center; flex: none; width: 24px; height: 24px;
            margin-top: 1px; border-radius: 7px; border: 1px solid var(--hair-solid);
            color: transparent; transition: border-color var(--dur) var(--ease),
            background var(--dur) var(--ease), color var(--dur) var(--ease); }
.chk__i input:checked ~ .chk__box { background: var(--accent); border-color: var(--accent);
                                    color: var(--accent-ink); }
.chk__i input:focus-visible ~ .chk__box { outline: 2px solid var(--accent); outline-offset: 2px; }
.chk__t { font-size: var(--t-14); line-height: 1.6; color: var(--fg-dim); }
.chk__t b { display: block; font-size: var(--t-15); color: var(--fg); margin-bottom: 3px; }
.chk__i input:checked ~ .chk__t { color: var(--muted); }
.chk__i input:checked ~ .chk__t b { color: var(--fg-dim); }
@media (hover: hover) { .chk__i:hover { background: var(--core-2); } }
@media (prefers-reduced-motion: reduce) {
  .chk__fill, .chk__box, .chk__i { transition: none; }
}
.faq2 { display: grid; grid-template-columns: minmax(0, 1fr); gap: clamp(24px,3vw,40px); align-items: start; }
.faq2__k { display: block; margin-bottom: 14px; color: var(--muted); }
@media (min-width: 900px) { .faq2 { grid-template-columns: repeat(2, minmax(0,1fr)); } }
.certs { display: grid; grid-template-columns: minmax(0, 1fr); gap: 14px; margin-top: 14px; }
@media (min-width: 760px) { .certs { grid-template-columns: repeat(2, minmax(0,1fr)); } }
.cert { display: block; padding: 12px; background: var(--core);
        border: 1px solid var(--hair); border-radius: var(--r-core);
        transition: border-color var(--dur) var(--ease); }
.cert__img { display: block; width: 100%; height: auto; border-radius: var(--r-in);
             opacity: .82; transition: opacity var(--dur) var(--ease); }
.cert__cap { display: block; padding: 12px 6px 4px; }
.cert__cap b { display: block; font-size: var(--t-15); color: var(--fg); }
.cert__cap > span { display: block; margin-top: 4px; font-size: var(--t-13); color: var(--muted); }
@media (hover: hover) {
  .cert:hover { border-color: var(--hair-solid); }
  .cert:hover .cert__img { opacity: 1; }
}
@media (prefers-reduced-motion: reduce) {
  .cert, .cert__img { transition: none; }
}
.filt { display: grid; gap: 12px; margin-bottom: clamp(20px, 2.6vw, 28px); }
.filt__lbl { color: var(--muted); }
.filt__row { display: flex; flex-wrap: wrap; gap: 8px; }
.chip--f { cursor: pointer; }
.chip--f i { font-style: normal; font-family: var(--f-display); font-weight: 600;
             font-size: var(--t-13); color: var(--muted-2); letter-spacing: -.02em; }
.chip--f.is-on { border-color: var(--accent); background: var(--accent);
                 color: var(--accent-ink); }
.chip--f.is-on i { color: var(--accent-ink); opacity: .62; }
.chip--f.is-on:hover { border-color: var(--accent); background: var(--accent);
                       color: var(--accent-ink); }
@media (max-width: 719px) {
  .filt__row { flex-wrap: nowrap; overflow-x: auto; scroll-snap-type: x proximity;
               scrollbar-width: none;
               margin-inline: calc(var(--gut) * -1); padding-inline: var(--gut);
               -webkit-mask-image: linear-gradient(to right, #000 0, #000 calc(100% - 40px), transparent 100%);
                       mask-image: linear-gradient(to right, #000 0, #000 calc(100% - 40px), transparent 100%); }
  .filt__row::-webkit-scrollbar { display: none; }
  .chip--f { flex: none; scroll-snap-align: start; }
  .chip--f:last-child { margin-right: 32px; }
}
.filt__count { font-size: var(--t-14); color: var(--muted); }
.filt__count b { color: var(--fg); font-family: var(--f-display); font-weight: 600; }
.filt__none { margin-top: 18px; font-size: var(--t-15); color: var(--fg-dim); }
.filt__none .tlink { cursor: pointer; }
.case.is-out { display: none; }
.case.is-flip { transition: transform var(--dur) var(--ease); will-change: transform; }
.case__d { font-size: var(--t-14); color: var(--fg-dim); line-height: 1.55; }
.cases--txt .case__body { gap: 12px; }
.case__did { display: grid; gap: 7px; font-size: var(--t-14); color: var(--fg-dim);
             line-height: 1.5; }
.case__did li { position: relative; padding-left: 16px; }
.case__did li::before { content: ''; position: absolute; left: 0; top: .62em;
                        width: 6px; height: 1px; background: var(--accent); }
.case__fail { margin-top: 4px; padding: 12px 14px; border-radius: var(--r-in);
              background: var(--core-2); border-left: 2px solid var(--warn);
              font-size: var(--t-13); line-height: 1.55; color: var(--fg-dim); }
.case__fail b { color: var(--fg); font-weight: 700; }
.case--slot { border-style: dashed; background: transparent; }
.case--slot .case__body { gap: 12px; }
.case--slot .case__ttl { color: var(--fg-dim); }
.case--slot .case__go { margin-top: auto; }
.chain { display: grid; grid-template-columns: minmax(0, 1fr); gap: 14px; counter-reset: none; }
.chain__i { position: relative; display: grid; gap: 10px; padding: clamp(18px,2.2vw,22px);
            border: 1px solid var(--hair); border-radius: var(--r-core);
            background: var(--core); align-content: start; }
.chain__n { color: var(--muted-2); }
.chain__t { font-size: var(--t-16); }
.chain__d { font-size: var(--t-14); color: var(--fg-dim); line-height: 1.5; }
.chain__i .iconbox { margin-top: 2px; }
.chain__i + .chain__i::before {
  content: ''; position: absolute; left: 50%; top: -14px; width: 1px; height: 14px;
  background: var(--hair-solid); }
@media (min-width: 1100px) {
  .chain { grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 1px;
           background: var(--hair-solid); border: 1px solid var(--hair-solid);
           border-radius: var(--r-core); overflow: hidden; }
  .chain__i { border: 0; border-radius: 0; }
  .chain__i + .chain__i::before { left: 0; top: 50%; width: 0; height: 0;
    transform: translateY(-50%);
    border: 5px solid transparent; border-left-color: var(--hair-solid);
    background: none; }
  .chain:has(> :nth-child(3):last-child) { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .chain:has(> :nth-child(4):last-child) { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .chain:has(> :nth-child(5):last-child) { grid-template-columns: repeat(5, minmax(0, 1fr)); }
  .chain:has(> :nth-child(6):last-child) { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (prefers-reduced-motion: reduce) {
  .case.is-flip { transition: none; }
}
.chero__figs { display: grid; grid-template-columns: minmax(0, 1fr); gap: 1px; background: var(--hair-solid);
               border: 1px solid var(--hair-solid); border-radius: var(--r-core);
               margin-top: clamp(24px, 3vw, 36px); overflow: hidden; }
@media (min-width: 760px) { .chero__figs { grid-template-columns: repeat(3, minmax(0,1fr)); } }
.chero__fig { background: var(--core); padding: clamp(20px,2.6vw,28px); }
.chero__fig b { display: block; font-family: var(--f-display); font-weight: 600;
                font-size: clamp(30px, 5vw, 54px); line-height: 1.02;
                letter-spacing: -.03em; color: var(--accent); }
.chero__fig span { display: block; margin-top: 10px; font-size: var(--t-14);
                   color: var(--fg-dim); line-height: 1.5; }
.chero__stack { margin-top: 16px; font-size: var(--t-14); color: var(--muted); }
.scheme { border: 1px solid var(--hair); border-radius: var(--r-core);
          background: var(--core); overflow: hidden; }
.scheme__vis { padding: clamp(16px,2.4vw,26px); background: var(--core-2);
               border-bottom: 1px solid var(--hair); }
.scheme__vis svg:not(.ico) { display: block; width: 100%; height: auto; }
.scheme__legend { display: grid; grid-template-columns: minmax(0, 1fr); gap: 1px; background: var(--hair-solid); }
.scheme__i { background: var(--core); padding: clamp(16px,2vw,20px) clamp(18px,2.2vw,24px);
             display: grid; gap: 6px; }
.scheme__i b { font-size: var(--t-15); }
.scheme__i span { font-size: var(--t-14); color: var(--fg-dim); line-height: 1.55; }
@media (min-width: 880px) { .scheme__legend { grid-template-columns: repeat(auto-fit, minmax(260px,1fr)); } }
.ba { display: grid; gap: 1px; background: var(--hair-solid);
      border: 1px solid var(--hair-solid); border-radius: var(--r-core); overflow: hidden; }
.ba__row { display: grid; grid-template-columns: minmax(0, 1fr); gap: 1px; background: var(--hair-solid); }
@media (min-width: 700px) { .ba__row { grid-template-columns: minmax(0,1.1fr) minmax(0,1fr) minmax(0,1fr); } }
.ba__k, .ba__was, .ba__now { background: var(--core); padding: clamp(14px,1.8vw,18px) clamp(16px,2vw,22px); }
.ba__k { color: var(--muted); font-size: var(--t-14); display: flex; align-items: center; }
.ba__was { color: var(--muted-2); font-size: var(--t-15); }
.ba__now { color: var(--fg); font-size: var(--t-15); font-weight: 600; }
.ba__now b { color: var(--accent); font-family: var(--f-display); font-weight: 600; }
.ba__head .ba__k, .ba__head .ba__was, .ba__head .ba__now {
  background: var(--core-2); font-size: var(--t-13); color: var(--muted);
  text-transform: uppercase; letter-spacing: .08em; font-weight: 600; }
@media (max-width: 699px) {
  .ba__head { display: none; }
  .ba__row { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ba__k { grid-column: 1 / -1; display: block; color: var(--fg);
           font-weight: 700; font-size: var(--t-15); padding-bottom: 10px; }
  .ba__was::before, .ba__now::before {
    content: attr(data-th); display: block; margin-bottom: 6px;
    font-size: var(--t-12); font-weight: 700; letter-spacing: .06em;
    text-transform: uppercase; color: var(--muted-2); }
  .ba__now::before { color: var(--accent); }
}
.ba__note { margin-top: 16px; font-size: var(--t-14); font-style: italic; color: var(--muted); }
.stackgrp { display: grid; grid-template-columns: minmax(0, 1fr); gap: 18px; }
@media (min-width: 760px) { .stackgrp { grid-template-columns: repeat(2, minmax(0,1fr)); } }
.stackgrp__g { display: grid; gap: 10px; align-content: start; }
.stackgrp__t { color: var(--muted); }
.stackgrp__c { display: flex; flex-wrap: wrap; gap: 8px; }
.calc { display: grid; grid-template-columns: minmax(0, 1fr);
        gap: clamp(22px,3vw,32px); align-items: start; }
@media (min-width: 900px) { .calc { grid-template-columns: minmax(0,1fr) minmax(0,.85fr); } }
.calc__ctrls { display: grid; grid-template-columns: minmax(0, 1fr);
               gap: clamp(18px,2.4vw,24px); min-width: 0; }
.rng__top { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; }
.rng__lbl { font-size: var(--t-14); color: var(--fg-dim); }
.rng__val { font-family: var(--f-display); font-weight: 600; font-size: var(--t-20);
            color: var(--accent); letter-spacing: -.02em; }
.rng__ends { display: flex; justify-content: space-between; margin-top: 6px;
             font-size: var(--t-13); color: var(--muted-2); }
.rng__ctl { -webkit-appearance: none; appearance: none; width: 100%; margin: 10px 0 0;
            background: transparent; cursor: pointer; }
.rng__ctl::-webkit-slider-runnable-track { height: 6px; border-radius: 3px;
  background: linear-gradient(to right, var(--accent) var(--p, 0%), var(--hair-solid) var(--p, 0%)); }
.rng__ctl::-moz-range-track { height: 6px; border-radius: 3px; background: var(--hair-solid); }
.rng__ctl::-moz-range-progress { height: 6px; border-radius: 3px; background: var(--accent); }
.rng__ctl::-webkit-slider-thumb { -webkit-appearance: none; appearance: none;
  width: 28px; height: 28px; margin-top: -11px; border-radius: 50%;
  background: var(--accent); border: 4px solid var(--core);
  box-shadow: 0 0 0 1px var(--hair-strong); }
.rng__ctl::-moz-range-thumb { width: 28px; height: 28px; border-radius: 50%;
  background: var(--accent); border: 4px solid var(--core);
  box-shadow: 0 0 0 1px var(--hair-strong); }
.rng__ctl:focus-visible { outline: 2px solid var(--accent); outline-offset: 6px; border-radius: 4px; }
@media (pointer: coarse) {
  .rng__ctl::-webkit-slider-thumb { width: 44px; height: 44px; margin-top: -19px; }
  .rng__ctl::-moz-range-thumb { width: 44px; height: 44px; }
}
.calc__out { border: 1px solid var(--hair-solid); border-radius: var(--r-core);
             background: var(--core-2); padding: clamp(20px,2.6vw,28px);
             display: grid; grid-template-columns: minmax(0, 1fr);
             gap: 18px; align-content: start; min-width: 0; }
.calc__o { display: grid; grid-template-columns: minmax(0, 1fr); gap: 6px; min-width: 0; }
.calc__o b { font-family: var(--f-display); font-weight: 600;
             font-size: clamp(24px,3.4vw,34px); letter-spacing: -.02em; line-height: 1.05; }
.calc__o span { font-size: var(--t-14); color: var(--fg-dim); line-height: 1.5; }
.calc__o--gain b { color: var(--accent); }
.calc__note { font-size: var(--t-13); line-height: 1.6; color: var(--muted);
              border-top: 1px solid var(--hair); padding-top: 14px; }
.diag { display: grid; grid-template-columns: minmax(0, 1fr); gap: clamp(24px, 3vw, 36px); align-items: start; }
@media (min-width: 940px) { .diag { grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); } }
.diag__qs { display: grid; gap: clamp(18px, 2.2vw, 24px); }
.diag__q { margin: 0; padding: 0; border: 0; min-width: 0; }
.diag__l { padding: 0 0 10px; font-size: var(--t-13); font-weight: 700;
           letter-spacing: .06em; text-transform: uppercase; color: var(--muted); }
.diag__out { display: grid; gap: 18px; padding: clamp(20px, 2.6vw, 28px);
             border: 1px solid var(--hair-solid); border-radius: var(--r-core);
             background: var(--core-2); }
@media (min-width: 940px) { .diag__out { position: sticky; top: 96px; } }
.diag__fn { display: block; width: 100%; max-width: 320px; margin: 0 auto; height: auto; }
.diag__fn .fn { color: var(--muted-2); transition: color var(--dur) var(--ease); }
.diag__fn .fn.is-hot { color: var(--accent); }
@media (prefers-reduced-motion: reduce) { .diag__fn .fn { transition: none; } }
.diag__res { display: grid; gap: 8px; }
.diag__t { font-family: var(--f-display); font-weight: 600;
           font-size: clamp(18px, 2.2vw, 22px); line-height: 1.2; }
.diag__res.is-done .diag__t { color: var(--accent); }
.diag__d { font-size: var(--t-14); color: var(--fg-dim); line-height: 1.6; }
.diag__count { font-size: var(--t-13); color: var(--muted); }
.diag__count b { color: var(--fg); font-family: var(--f-display); font-weight: 600; }
.diag__res.is-done ~ .diag__count { display: none; }
.stackgrp__c a.chip { color: var(--fg); border-color: var(--hair-strong); }
.stackgrp__c a.chip:hover { border-color: var(--accent); color: var(--accent); }
.diag__note { font-size: var(--t-13); line-height: 1.6; color: var(--muted);
              border-top: 1px solid var(--hair); padding-top: 14px; }
.prices { display: grid; gap: clamp(22px, 3vw, 32px); }
.prices__gh { display: flex; align-items: center; gap: 14px; margin-bottom: 6px; }
.prices__gh::after { content: ""; flex: 1; height: 1px; background: var(--hair); }
.prices__gn { font-size: var(--t-13); font-weight: 700; color: var(--muted); letter-spacing: .06em; }
.prices__gn::before { content: '· '; }
.row__p { font-family: var(--f-display); font-size: var(--t-16); font-weight: 600;
          color: var(--accent); white-space: nowrap; }
@media (min-width: 900px) {
  .rows--price .row { grid-template-columns: 232px minmax(0, 1fr) 150px 24px; }
  .rows--price .row__p { text-align: right; }
}
@media (max-width: 899px) {
  .rows--price .row { grid-template-columns: minmax(0, 1fr) auto; align-items: baseline; }
  .rows--price .row__t { grid-column: 1; }
  .rows--price .row__p { grid-column: 2; grid-row: 1; }
  .rows--price .row__m { grid-column: 1 / -1; }
  .rows--price .row__go { display: none; }
}
@media (min-width: 900px) {
  .vs--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
.vs--3 .vs__li b { color: var(--fg); font-weight: 600; }
.cgrp { display: grid; grid-template-columns: minmax(0, 1fr); gap: 10px;
        min-width: 0; margin-bottom: clamp(18px, 2.2vw, 24px); }
.calc__q { font-size: var(--t-13); font-weight: 700; color: var(--muted);
           letter-spacing: .04em; text-transform: uppercase; }
.chipset { display: flex; flex-wrap: wrap; gap: 8px; min-width: 0; }
.chipset .chip { max-width: 100%; text-align: left; }
.rng__hint { margin: 10px 0 0; font-size: var(--t-13); line-height: 1.55; color: var(--muted); }
.rng__hint b { color: var(--fg-dim); font-weight: 600; }
.stages { display: grid; gap: 2px; margin: 18px 0; padding-top: 16px;
          border-top: 1px solid var(--hair); }
.stages__r { display: flex; align-items: baseline; gap: 12px;
             font-size: var(--t-14); color: var(--fg-dim); padding: 5px 0; }
.stages__r span { flex: 1; }
.stages__r b { font-family: var(--f-display); font-weight: 600; color: var(--fg);
               white-space: nowrap; }
.blogtop h1 { margin-top: 6px; }
.blogtop .phead__sub { max-width: 62ch; margin-top: 12px; }
.blogtop__filt { margin-top: clamp(22px, 3vw, 32px); }
