.res-page { color:#000; }
.res-wide { width:100%;max-width:1472px;margin-inline:auto;padding-inline:24px; }
.res-kicker { font:400 13px/1.2 'Aeonik Mono',monospace;text-transform:uppercase;letter-spacing:.025em;color:#929292; }
.res-sr-only { position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0; }
.res-index-hero { padding:56px 24px 0;text-align:center; }
.res-index-hero .res-kicker { color:#525252;font-size:12px;line-height:24px;letter-spacing:1px;margin-bottom:20px; }
.res-index-hero h1 { font-size:48px;line-height:1.25;letter-spacing:-.025em; }
.res-index-description { max-width:768px;margin:8px auto 0;font-size:20px;line-height:1.6;color:#525252;text-wrap:balance; }
.res-library { padding-top:176px;padding-bottom:120px; }
.res-tools { display:flex;align-items:center;justify-content:space-between;gap:32px;margin:64px 0;border-bottom:1px solid #e5e5e5;padding-bottom:16px; }
.res-categories { display:flex;gap:24px;align-items:center;overflow:auto;scrollbar-width:none; }
.res-categories::-webkit-scrollbar { display:none; }
.res-categories button { position:relative;flex:none;background:transparent;padding:8px 0;font-size:14px;line-height:20px;color:#7e7e7e;transition:color .2s; }
.res-categories button:after { content:'';position:absolute;left:0;right:0;bottom:0;height:1px;background:#000;transform:scaleX(0);transform-origin:left;transition:transform .2s; }
.res-categories button[aria-pressed=true],.res-categories button:hover { color:#000; }
.res-categories button[aria-pressed=true]:after { transform:scaleX(1); }
.res-search { display:flex;align-items:center;gap:8px;flex-shrink:0;width:220px;max-width:100%;font-size:14px; }
.res-search svg { width:18px;height:18px;flex:none; }
.res-search input { padding:8px 0;width:100%;min-width:0;border:0;background:transparent;color:#000;outline-offset:4px; }
.res-search input::placeholder { color:#929292; }
.res-search kbd { font:12px/1.2 'Aeonik Mono',monospace;color:#929292;border:1px solid #e5e5e5;padding:2px 5px;border-radius:3px; }
.res-guide-index .res-library { padding-top:88px; }
.res-guide-index .res-tools { margin:0 0 16px; }
.res-categories { min-width:0; }
.res-topic { display:flex;align-items:center;gap:20px;min-width:0;font-size:14px; }
.res-topic>span { color:#7e7e7e;white-space:nowrap; }
.res-topic select { min-width:0;max-width:100%;padding:8px 24px 8px 0;border:0;background:transparent;color:#000;font:inherit;cursor:pointer; }
.res-result-count:not(.res-sr-only) { margin-bottom:32px;font:12px/1.5 'Aeonik Mono',monospace;color:#737373; }
.res-library-note { max-width:760px;margin:64px auto 0;color:#737373;font-size:14px;line-height:1.6;text-align:center; }
.res-library-note a { display:inline-flex;align-items:center;gap:4px;color:#6085b7; }
.res-library-note svg { width:16px;height:16px; }
.res-empty { padding:48px 0 80px;text-align:center; }
.res-empty h2 { font-size:26px;line-height:1.2; }
.res-empty p { margin:16px 0 24px;color:#737373; }
.res-books { display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:32px; }
.res-book { position:relative;width:280px;max-width:100%;height:376px;margin:2.5%;display:block;text-align:left; }
.res-book-cover { background:var(--book-color);position:absolute;inset:0;border-radius:2px;z-index:1;color:#fff;transform-origin:0;transition:transform .3s ease-out,box-shadow .3s ease-out; }
.res-book-top { display:flex;justify-content:space-between;align-items:center;padding:32px; }
.res-book-number { font:12px/1.5 'Aeonik Mono',monospace;color:#ffffff80; }
.res-book h2 { padding:0 32px;position:absolute;bottom:32px;left:0;right:0;font-size:24px;line-height:1.5;letter-spacing:-.01em;text-wrap:balance; }
.res-book-effect { background:linear-gradient(90deg,#fff3,#fff0);width:20px;height:100%;margin-left:8px;transition:width .3s ease-out;position:absolute;top:0;left:0;pointer-events:none; }
.res-book-light { opacity:.1;background:linear-gradient(90deg,#fff0,#fff3);border-radius:3px;width:90%;height:100%;transition:opacity .3s ease-out,width .3s ease-out;position:absolute;top:0;right:0;pointer-events:none; }
.res-book-pages { background:#fff;border:1px solid #d4d4d4;border-radius:3px;width:calc(100% - 2px);height:96%;position:relative;top:2%;box-shadow:0 20px 25px #4a4a8b1a,0 10px 10px #4a4a8b0a,inset -2px 0 #d4d4d4,inset -3px 0 #dbdbdb,inset -4px 0 #fff,inset -5px 0 #dbdbdb,inset -6px 0 #fff,inset -7px 0 #dbdbdb,inset -8px 0 #fff,inset -9px 0 #dbdbdb; }
.res-book:is(:hover,:focus-visible) .res-book-cover { transform:perspective(2000px) rotateY(-30deg);box-shadow:10px 0 10px -5px #00000030; }
.res-book:is(:hover,:focus-visible) .res-book-effect { width:40px; }
.res-book:is(:hover,:focus-visible) .res-book-light { opacity:1;width:70%; }
.res-resource-hero { padding-top:56px;padding-bottom:24px; }
.res-resource-hero .res-kicker { color:#525252;margin-bottom:20px; }
.res-resource-hero h1 { font-size:64px;line-height:1.05;letter-spacing:-.025em; }
.res-resource-hero>p:last-child { max-width:520px;margin-top:20px;font-size:18px;line-height:1.6;color:#737373; }
.res-featured { display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:32px; }
.res-editorial-card { display:block;position:relative;min-width:0; }
.res-card-image { position:relative;overflow:hidden;background:#eaeaea;border-radius:8px;aspect-ratio:16/9; }
.res-card-image img { width:100%;height:100%;object-fit:cover;transition:transform 1s ease-out; }
.res-editorial-card:is(:hover,:focus-visible) img { transform:scale(1.05); }
.res-card-arrow { position:absolute;right:20px;bottom:20px;width:32px;height:32px;display:grid;place-items:center;border-radius:50%;background:#fff;color:#000;opacity:0;transform:translateX(-8px);transition:opacity .3s,transform .3s; }
.res-card-arrow svg { width:18px;height:18px; }
.res-editorial-card:is(:hover,:focus-visible) .res-card-arrow { opacity:1;transform:none; }
.res-card-copy { padding:20px 0; }
.res-card-copy .res-kicker { display:flex;gap:16px;flex-wrap:wrap;font-size:11px; }
.res-card-copy .res-kicker>span { color:#929292; }
.res-card-copy h2 { font-size:28px;line-height:1.2;margin-top:12px;letter-spacing:-.02em;text-wrap:balance; }
.res-card-description { color:#737373;font-size:16px;line-height:1.5;margin-top:16px; }
.res-card-time { font:11px/1.5 'Aeonik Mono',monospace;text-transform:uppercase;display:block;margin-top:20px;color:#929292; }
.res-featured-lead { grid-column:span 2;grid-row:span 2;min-height:540px; }
.res-featured-lead .res-card-image,.res-featured-secondary .res-card-image { position:absolute;inset:0;width:100%;height:100%;aspect-ratio:auto; }
.res-featured-lead .res-card-image:after,.res-featured-secondary .res-card-image:after { content:'';position:absolute;inset:0;background:linear-gradient(180deg,#0000 15%,#0009 100%); }
.res-featured-lead .res-card-copy,.res-featured-secondary .res-card-copy { position:absolute;left:0;right:0;bottom:0;color:#fff;padding:32px; }
.res-featured-lead h2 { font-size:40px; }
.res-featured-lead .res-kicker,.res-featured-secondary .res-kicker { color:#fff; }
.res-featured-lead .res-kicker>span,.res-featured-secondary .res-kicker>span { color:#ffffff99; }
.res-featured-lead .res-card-description,.res-featured-lead .res-card-time,.res-featured-secondary .res-card-description,.res-featured-secondary .res-card-time,.res-featured-small .res-card-description,.res-featured-small .res-card-time { display:none; }
.res-featured-secondary { grid-column:span 2;min-height:260px; }
.res-featured-small .res-card-copy { padding:16px 16px 12px; }
.res-featured-small h2 { font-size:22px; }
.res-resource-library { padding-top:120px;padding-bottom:80px; }
.res-section-heading { display:flex;justify-content:space-between;align-items:center;gap:24px; }
.res-section-heading h2 { font-size:40px;line-height:1.2;letter-spacing:-.02em; }
.res-section-heading>a { display:inline-flex;align-items:center;gap:8px;font-size:14px;white-space:nowrap; }
.res-section-heading>a svg { width:20px;height:20px; }
.res-resource-library .res-tools { margin:40px 0; }
.res-card-grid { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px 24px; }
.res-documentation { padding-block:64px 120px; }
.res-documentation .res-kicker { margin-bottom:32px; }
.res-documentation h2 { font-size:56px;line-height:1.1;letter-spacing:-.025em; }
.res-documentation>p:not(.res-kicker) { max-width:420px;color:#737373;margin:24px 0; }
.res-article-hero { background:#f2f2f2;padding:40px 0 64px; }
.res-back { display:inline-flex;gap:4px;align-items:center;color:#6085b7;font-size:14px;line-height:20px;margin-bottom:40px; }
.res-article-hero .res-kicker { margin-bottom:24px; }
.res-article-hero h1 { font-size:64px;line-height:1.05;letter-spacing:-.025em;text-wrap:pretty; }
.res-article-summary { max-width:640px;margin-top:28px;font-size:18px;line-height:1.6;color:#525252; }
.res-article-meta { display:flex;flex-wrap:wrap;align-items:center;gap:16px;margin-top:28px;font:13px/1.2 'Aeonik Mono',monospace;color:#929292;text-transform:uppercase; }
.res-article-meta span+span { padding-left:16px;border-left:1px solid #c7c7c7; }
.res-article-layout { display:grid;grid-template-columns:240px minmax(0,1fr);gap:80px;padding-top:80px;padding-bottom:80px; }
.res-toc { align-self:start;position:sticky;top:112px;max-height:calc(100dvh - 136px);overflow:auto; }
.res-toc nav { display:flex;flex-direction:column;gap:12px; }
.res-toc nav .res-kicker { margin-bottom:4px; }
.res-toc nav a { font-size:16px;line-height:1.5;color:#929292;transition:color .2s; }
.res-toc nav a:is(:hover,[aria-current=true]) { color:#000; }
.res-share { margin-top:32px; }
.res-share button { display:flex;align-items:center;gap:8px;padding:0;margin-top:16px;background:transparent;font-size:14px; }
.res-share button svg { width:20px;height:20px; }
.res-share-status { display:block;margin-top:8px;font-size:12px;color:#737373; }
.res-article-body { min-width:0;font-size:18px;line-height:1.7;color:#525252; }
.res-article-body p { margin-bottom:24px; }
.res-article-intro { font-size:20px;line-height:1.6;color:#525252;margin-bottom:48px!important; }
.res-article-body section { scroll-margin-top:112px;margin-bottom:56px; }
.res-article-body section h2 { font-size:32px;line-height:1.5;color:#000;margin-bottom:24px; }
.res-article-body ul { margin:0 0 24px;padding-left:22px; }
.res-article-body li { margin-bottom:12px;padding-left:6px; }
.res-example { margin:32px 0;background:#f5f5f5;padding:28px 32px;border-left:1px solid #c7c7c7; }
.res-example figcaption { color:#929292;margin-bottom:16px; }
.res-example blockquote { margin:0;color:#525252; }
.res-example figcaption { display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px; }
.res-example button { background:transparent;padding:4px 0;color:#525252;font:13px/1.4 'Aeonik Mono',monospace;text-decoration:underline;text-underline-offset:4px; }
.res-prompt-status { display:block;font-size:12px;line-height:1.5;color:#737373; }
.res-prompt-status:not(:empty) { margin-top:16px; }
.res-table { margin:32px 0;overflow:auto;max-width:100%;border-block:1px solid #e5e5e5; }
.res-table table { width:100%;border-collapse:collapse;font-size:15px;line-height:1.5;text-align:left; }
.res-table caption { text-align:left;padding:16px 0;font:12px/1.5 'Aeonik Mono',monospace;color:#737373; }
.res-table th,.res-table td { padding:16px;min-width:140px;border-top:1px solid #e5e5e5;vertical-align:top; }
.res-table th { background:#f5f5f5;color:#000;font-weight:400; }
.res-faq h3 { font-size:22px;line-height:1.4;color:#000;margin:32px 0 12px; }
.res-section-links { display:flex;flex-direction:column;gap:8px;font-size:16px; }
.res-section-links a { display:flex;gap:4px;align-items:center;width:fit-content;color:#6085b7; }
.res-section-links a svg { width:18px;height:18px;flex:none; }
.res-section-links a:hover { text-decoration:underline;text-underline-offset:4px; }
.res-article-action { border-top:1px solid #e5e5e5;padding-top:40px;margin-top:64px; }
.res-article-action h2 { color:#000;font-size:32px;line-height:1.2;margin-bottom:16px; }
.res-related { padding-block:40px 120px; }
.res-related-grid { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;margin-top:40px; }
.res-related-grid>a { position:relative;border-top:1px solid #c7c7c7;padding-top:24px;padding-bottom:56px; }
.res-related-grid .res-kicker { display:flex;flex-wrap:wrap;gap:16px;font-size:11px; }
.res-related-grid h3 { font-size:28px;line-height:1.2;margin-top:20px;max-width:340px; }
.res-related-arrow { position:absolute;right:0;bottom:16px; }
.res-related-arrow svg { width:24px;height:24px;transition:transform .3s; }
.res-related-grid>a:hover .res-related-arrow svg { transform:translateX(4px); }
@media(max-width:1279px) {
  .res-books { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .res-article-layout { grid-template-columns:200px minmax(0,1fr);gap:48px; }
  .res-tools { gap:24px; }
  .res-categories { gap:18px; }
  .res-search { width:180px; }
}
@media(max-width:1023px) {
  .res-books { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .res-tools { align-items:stretch;flex-direction:column;gap:16px; }
  .res-categories { width:100%; }
  .res-search { width:100%;max-width:320px; }
  .res-resource-hero h1,.res-article-hero h1 { font-size:48px; }
  .res-featured-lead { min-height:480px; }
  .res-featured-lead h2 { font-size:32px; }
  .res-featured-small h2 { font-size:20px; }
  .res-article-layout { grid-template-columns:180px minmax(0,1fr);gap:32px; }
  .res-card-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .res-related-grid h3 { font-size:24px; }
}
@media(max-width:767px) {
  .res-wide { padding-inline:24px; }
  .res-kicker { font-size:11px;line-height:1.4; }
  .res-index-hero { padding-top:0;margin-top:-6px; }
  .res-index-hero h1 { font-size:30px;line-height:1.375; }
  .res-index-description { font-size:16px;line-height:1.6;margin-top:16px;max-width:480px; }
  .res-book h2 { font-size:22px;line-height:1.05; }
  .res-tools { margin:40px 0; }
  .res-library { padding-top:104px;padding-bottom:80px; }
  .res-guide-index .res-library { padding-top:40px; }
  .res-topic { justify-content:space-between;gap:12px; }
  .res-topic select { flex:1;text-align:right; }
  .res-resource-hero { padding-top:24px; }
  .res-resource-hero h1 { font-size:40px; }
  .res-resource-hero>p:last-child { font-size:16px;line-height:1.5; }
  .res-featured { grid-template-columns:repeat(2,minmax(0,1fr));margin-top:24px;gap:24px 8px; }
  .res-featured-lead,.res-featured-secondary { grid-column:span 2;grid-row:auto;min-height:380px; }
  .res-featured-secondary { min-height:280px; }
  .res-featured-lead .res-card-copy,.res-featured-secondary .res-card-copy { padding:24px; }
  .res-featured-small .res-card-copy { padding-inline:0; }
  .res-card-copy .res-kicker { gap:8px;font-size:10px; }
  .res-featured-small h2 { font-size:20px; }
  .res-card-copy h2 { font-size:24px; }
  .res-resource-library { padding-top:64px;padding-bottom:40px; }
  .res-section-heading { align-items:flex-start;gap:16px; }
  .res-section-heading h2 { font-size:28px; }
  .res-section-heading>a { font-size:12px;margin-top:5px; }
  .res-documentation { padding-block:40px 80px; }
  .res-documentation h2 { font-size:40px; }
  .res-documentation .res-kicker { margin-bottom:24px; }
  .res-article-hero { padding-block:32px 40px; }
  .res-back { margin-bottom:32px; }
  .res-article-hero h1 { font-size:40px;line-height:1.05; }
  .res-article-summary { margin-top:24px;font-size:16px;line-height:1.6; }
  .res-article-meta { font-size:11px;gap:12px;margin-top:24px; }
  .res-article-meta span+span { padding-left:12px; }
  .res-article-meta .res-updated { flex-basis:100%;padding-left:0;border-left:0; }
  .res-article-layout { display:block;padding-top:40px;padding-bottom:40px; }
  .res-toc { position:static;max-height:none;overflow:visible;margin-bottom:40px;padding-bottom:32px;border-bottom:1px solid #e5e5e5; }
  .res-toc nav { gap:10px; }
  .res-toc nav a { font-size:14px; }
  .res-share { margin-top:24px; }
  .res-share>h2 { display:none; }
  .res-share button { margin:0; }
  .res-article-body { font-size:16px;line-height:1.7; }
  .res-article-intro { font-size:18px;line-height:1.6;margin-bottom:32px!important; }
  .res-article-body section { margin-bottom:40px;scroll-margin-top:90px; }
  .res-article-body section h2 { font-size:26px;line-height:1.3;margin-bottom:20px; }
  .res-example { padding:24px;margin-block:24px; }
  .res-table table { font-size:14px; }
  .res-table th,.res-table td { padding:12px;min-width:120px; }
  .res-faq h3 { font-size:21px; }
  .res-article-action { margin-top:40px;padding-top:32px; }
  .res-related { padding-block:24px 80px; }
  .res-related-grid { grid-template-columns:1fr;gap:16px;margin-top:32px; }
  .res-related-grid>a { padding-bottom:40px; }
  .res-related-grid h3 { max-width:none; }
}
@media(max-width:639px) {
  .res-books { grid-template-columns:1fr;gap:32px; }
  .res-card-grid { grid-template-columns:1fr;gap:32px; }
}
@media(prefers-reduced-motion:reduce) {
  .res-page *, .res-page *:before, .res-page *:after { scroll-behavior:auto!important;transition:none!important;animation:none!important; }
  .res-book:is(:hover,:focus-visible) .res-book-cover { transform:none; }
  .res-editorial-card:is(:hover,:focus-visible) img { transform:none; }
}
