/* Public product pages inherit the homepage's scale, controls and black canvas. */
:root { --content-group: #0b0b0b; --content-group-hover: #121012; --content-group-focus: #171214; }
body:not(.is-home):not(.is-studio) { padding-top: 80px; }
body:not(.is-home):not(.is-studio) .site-header {
  min-height: 80px; gap: 24px;
  padding: 14px max(28px, calc((calc(100vw / var(--site-scale)) - 1360px) / 2));
}
body:not(.is-home) .site-header .brand-wordmark { font-size: 26px; letter-spacing: -.03em; }
body:not(.is-home) .site-header .brand img { width: 30px; height: 30px; }
body:not(.is-home) .site-header .nav-links { gap: 0; }
body:not(.is-home) .site-header .nav-links a { font-size: 16px; font-weight: 500; padding: 12px; border-radius: 8px; }
.site-header .nav-links a[aria-current="page"] { color: var(--accent-ink); background: transparent; }
body:not(.is-home) .site-header .btn.small { min-height: 48px; padding: 12px 20px; font-size: 16px; }
body:not(.is-home) .header-actions { gap: 10px; }
.site-header, body.has-scrolled .site-header { border-bottom: 0; }
.site-footer { border-top: 0; }
body:not(.is-home) .mobile-toggle { border-radius: 10px; background: var(--surface); border-color: var(--line-soft); }
body:not(.is-home) .page-shell, body:not(.is-home) .site-footer { max-width: 1360px; padding-inline: 28px; }
body:not(.is-home) .page-shell { padding-block: 64px 80px; }
body:not(.is-home) .page-title { grid-template-columns: 1fr; gap: 12px; margin-bottom: 40px; }
body:not(.is-home) .page-title h1, .pack-product-heading h1, .lora-page-heading h1 {
  font-size: clamp(40px, calc(4.4vw / var(--site-scale)), 64px); font-weight: 700; letter-spacing: -.035em; line-height: 1.12;
}
body:not(.is-home) .page-title p { max-width: 740px; font-size: 18px; line-height: 1.65; letter-spacing: normal; margin: 0; }
.page-title .title-aside { display: none; }
body:not(.is-home) :is(.btn,.home-link) { min-height: 54px; padding: 14px 24px; font-size: 17px; font-weight: 600; }
body:not(.is-home) .btn.primary { border-color: var(--accent); }
body:not(.is-home) .btn.small { min-height: 44px; padding: 10px 18px; font-size: 14px; }
:is(.btn,.home-button,.home-link)[data-button-edge] { transition: color .25s .08s, transform .2s; }
.pack-heading-actions, .custom-brief-actions, .modal-actions { align-items: stretch; gap: 12px; }
.pack-product-heading { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 48px; }
.pack-product-heading h1 { margin: 0 0 24px; }
.pack-description { font-size: 18px; }
.pack-product-photos { height: 390px; }
.pack-product-photos > img { min-width: 0; border-radius: 16px; }
.pack-category-list { border: 0; display: grid; gap: 10px; }
.pack-category { min-width: 0; border: 1px solid #292629; border-radius: 12px; background: #050505; }
.pack-category[open] { border-color: #57313d; background: #1a1014; }
.pack-category { transition: background-color .35s, border-color .35s; }
.pack-category.is-closing { border-color: #292629; background: #050505; }
.disclosure-content { overflow: hidden; }
.pack-category summary { padding: 22px 24px; font-size: 21px; }
.pack-category summary > :first-child { min-width: 0; overflow-wrap: anywhere; }
.pack-category summary > :last-child::after { content: ''; width: 14px; height: 14px; background: linear-gradient(var(--muted),var(--muted)) center/100% 1px no-repeat,linear-gradient(var(--muted),var(--muted)) center/1px 100% no-repeat; }
.pack-category[open] summary > :last-child::after { content: ''; background: linear-gradient(var(--accent-ink),var(--accent-ink)) center/100% 1px no-repeat; }
.pack-category > div { padding: 4px 24px 24px; }
.pack-category article { padding: 18px 0 0; border: 0; border-radius: 0; background: transparent; }
.pack-launch { gap: 48px; }
.pack-launch h2 { margin-top: 0; }
.pack-launch dl > div { border: 0; }
.tools-page .page-title, .library-page .page-title { text-align: center; margin-bottom: 44px; }
.tools-page .page-title p, .library-page .page-title p { margin-inline: auto; }
.catalog-grid { gap: 36px; grid-template-columns: 210px minmax(0,1fr); padding-block: 36px 32px; border: 0; }
.tabs { gap: 8px; justify-content: center; padding-bottom: 18px; border: 0; }
.tabs button { font-size: 16px; padding: 12px 24px; }
.tab-label-short { display: none; }
.tool-menu { display: grid; gap: 8px; }
.tool-menu button { padding: 16px; min-height: 54px; border-radius: 10px; border: 1px solid transparent; font-size: 16px; line-height: 1.5; }
.tool-menu button.active { background: #1a1014; border-color: #57313d; }
.tool-menu button.active::before { content: none; }
.tool-menu strong { font-weight: 550; }
.tool-menu button:hover:not(.active) { background: #090809; }
.tool-detail { display: grid; grid-template-columns: minmax(0,1.1fr) minmax(0,.9fr); grid-template-rows: auto 1fr; gap: 24px 32px; align-items: start; }
.tool-detail .section-heading { grid-column: 2; margin: 0; padding: 4px 0 0; }
.tool-detail h2 { font-size: 30px; line-height: 1.25; letter-spacing: -.025em; }
.tool-detail .section-heading p { margin-top: 14px; font-size: 16px; line-height: 1.65; }
.tool-detail > :is(.single-preview,.compare-grid) { grid-column: 1; grid-row: 1/3; margin: 0; min-width: 0; }
.tool-detail .single-preview > img { width: 100%; height: 410px; aspect-ratio: auto; border-radius: 16px; object-position: center 40%; }
.tool-detail .single-preview figcaption, .tool-detail .compare-grid figcaption { font-size: 13px; padding-top: 12px; line-height: 1.5; }
.tool-detail .compare-grid { gap: 12px; align-items: start; }
.tool-detail .compare-frame img { width: 100%; height: auto; aspect-ratio: 3/4; border-radius: 14px; object-position: center 40%; }
.tool-information { grid-column: 2; min-width: 0; }
.definition-strip { grid-template-columns: 1fr; gap: 18px; margin: 0; padding: 24px; border: 0; border-radius: 16px; background: var(--content-group); font-size: 15px; line-height: 1.65; }
.definition-strip > * + * { padding: 0; border: 0; }
.definition-strip > p { grid-column: auto; margin: 0; }
.definition-strip small { font-size: 14px; font-weight: 600; text-transform: none; margin-bottom: 5px; }
.tool-information > .btn { margin-top: 28px; max-width: 100%; white-space: normal; text-align: center; }
.continue-row { grid-template-columns: 1fr auto auto; gap: 24px; margin-top: 24px; padding: 28px 32px; border: 0; border-radius: 20px; background: var(--content-group); }
.continue-row > img { display: none; }
.continue-row h2 { font-size: 26px; }
.continue-row .btn { white-space: normal; text-align: center; }
.tools-page > .demo-note { margin-top: 24px; }
.library-index { grid-template-columns: 1fr; gap: 96px; margin-top: 72px; }
.library-category { display: grid; grid-template-columns: minmax(0,.65fr) minmax(0,1.65fr); align-items: start; gap: 56px; padding: 0; border: 0; }
.library-category-summary { position: sticky; top: 110px; min-width: 0; }
.library-category-heading { align-items: center; flex-wrap: wrap; gap: 10px 12px; padding: 0; border: 0; margin-bottom: 22px; }
.library-category-heading h2 { font-size: 32px; line-height: 1.2; }
.library-category-heading > span { font-size: 13px; white-space: nowrap; }
.library-category-photo { width: 100%; aspect-ratio: 4/3; object-fit: cover; object-position: center 35%; border-radius: 16px; }
.library-resource-list { display: grid; gap: 12px; }
.library-resource { gap: 24px; padding: 24px 28px; border: 0; border-radius: 16px; background: var(--content-group); transition: background-color .2s; }
.library-resource:first-child, .library-resource:last-child { padding: 24px 28px; }
.library-resource:focus-within { background: var(--content-group-focus); }
@media (hover:hover) { .library-resource:hover { background: var(--content-group-hover); } }
.library-resource h3 { font-size: 19px; line-height: 1.4; }
.library-resource p { font-size: 15px; max-width: 60ch; }
.library-resource-actions { flex-direction: row; align-items: center; gap: 20px; }
.library-resource-actions > .btn { min-width: 96px; }
.library-pack-note { padding: 36px; margin-top: 80px; border: 0; border-radius: 20px; background: var(--content-group); }
.library-pack-note .btn { white-space: normal; text-align: center; }
.lora-introduction { display: grid; grid-template-columns: minmax(0,.9fr) minmax(0,1.7fr); gap: 48px; align-items: center; margin-bottom: 72px; }
.lora-page-heading { display: block; margin: 0; min-width: 0; }
.lora-page-heading h1 { margin: 0; }
.lora-page-heading .home-section-copy { max-width: 44ch; margin: 24px 0 0; font-size: 18px; line-height: 1.65; }
.lora-page-heading .home-product-actions { margin-top: 28px; max-width: none; }
.lora-page-heading .home-product-actions > :is(a,button) { width: auto; }
.lora-page-example { min-width: 0; }
.lora-page .home-lora-proof-title { display: block; margin: 0 0 24px; }
.lora-page .home-lora-proof-title h2 { margin: 0; font-size: 24px; line-height: 1.3; letter-spacing: -.025em; }
.lora-page .home-lora-proof-title p { margin: 10px 0 0; color: var(--muted); font-size: 15px; line-height: 1.65; }
.lora-page .home-lora-proof { gap: 16px; margin: 0; }
.lora-page .home-lora-proof-photo { width: 100%; border-radius: 16px; aspect-ratio: 3/4; background: #050505; }
.lora-page .home-lora-proof-photo img { width: 100%; height: 100%; object-fit: cover; }
.lora-page .home-lora-proof figcaption { color: var(--text); font-size: 14px; flex-wrap: wrap; gap: 6px 12px; }
.lora-page .home-lora-proof figcaption > span:last-child { color: var(--muted); font-size: 12px; }
.lora-usage { grid-template-columns: minmax(0,.9fr) minmax(0,1.7fr); gap: 48px; border: 0; border-radius: 24px; background: var(--content-group); padding: 40px; }
.lora-usage h2 { font-size: 38px; margin: 0; }
.lora-usage .home-section-copy { margin-top: 20px; line-height: 1.65; }
.lora-environments article { border: 0; padding: 0; max-width: 600px; }
.lora-delivery { gap: 48px; margin-top: 48px; padding: 0 40px; border: 0; }
.field :is(input,textarea,select) { caret-color: var(--accent-ink); color: var(--text); }
dialog { background: #080808; border-radius: 16px; }
.modal-body { padding: 36px; }
.modal-body h2 { font-size: 30px; line-height: 1.2; padding-right: 24px; }
.modal-body .summary-list { margin-top: 24px; }
.modal-body .summary-list > div { grid-template-columns: 140px minmax(0,1fr); font-size: 16px; line-height: 1.6; }
.modal-body .summary-list dd { margin: 0; }
.modal-body .faq-item { border-color: #292629; }
.modal-body .faq-item p { line-height: 1.65; }
@media (max-width:1320px) {
  body:not(.is-home):not(.is-studio) .site-header { gap: 16px; padding-inline: 28px; }
  .tool-detail .section-heading { align-items: flex-start; flex-direction: column; }
  .pack-product-heading { gap: 32px; }
  .pack-product-photos { height: 330px; }
  .continue-row { grid-template-columns: 1fr 1fr; }
  .continue-row > div { grid-column: 1/-1; }
  .tool-detail { grid-template-columns: 1fr; gap: 24px; }
  .tool-detail .section-heading, .tool-information, .tool-detail > :is(.single-preview,.compare-grid) { grid-column: 1; grid-row: auto; }
  .tool-detail .single-preview > img { height: 350px; }
  .definition-strip { grid-template-columns: 1fr 1fr; }
  .definition-strip > p { grid-column: 1/-1; }
  .library-category { gap: 36px; grid-template-columns: minmax(0,.75fr) minmax(0,1.4fr); }
  .library-resource-actions { flex-direction: column; align-items: end; gap: 6px; }
}
@media (max-width:1100px) {
  .lora-introduction { grid-template-columns: 1fr; gap: 40px; }
  .lora-page-heading .home-section-copy { max-width: 65ch; }
  .lora-usage { grid-template-columns: 1fr; gap: 32px; }
}
@media (max-width:836px) {
  body:not(.is-home) .page-shell { padding-block: 36px 56px; }
  body:not(.is-home) .page-shell, body:not(.is-home) .site-footer { padding-inline: 20px; }
  body:not(.is-home):not(.is-studio) .site-header { padding-inline: 20px; gap: 12px; }
  body:not(.is-home) .site-header .brand-wordmark { font-size: 24px; }
  body:not(.is-home) .site-header .brand img { width: 29px; height: 29px; }
  body:not(.is-home) .site-header .btn.small { min-height: 48px; padding: 12px 17px; font-size: 14px; }
  body:not(.is-home) .page-title h1, .pack-product-heading h1, .lora-page-heading h1 { font-size: 38px; }
  body:not(.is-home) .page-title p { font-size: 16px; }
  body:not(.is-home) .page-title { margin-bottom: 30px; }
  body:not(.is-home) :is(.btn,.home-link) { font-size: 16px; }
  .pack-product-heading { grid-template-columns: 1fr; }
  .pack-product-photos { height: 290px; gap: 12px; }
  .pack-heading-actions .btn { width: 100%; white-space: normal; }
  .pack-category summary { padding: 20px 18px; font-size: 18px; }
  .pack-category > div { grid-template-columns: 1fr; padding-inline: 18px; }
  .pack-launch { grid-template-columns: 1fr; gap: 28px; }
  .catalog-grid { grid-template-columns: 1fr; gap: 28px; }
  .tool-menu { display: flex; gap: 8px; overflow-x: auto; padding-block: 6px; }
  .tool-menu button { width: 180px; min-width: 180px; min-height: 70px; }
  .tool-information > .btn { width: 100%; }
  .tool-detail h2 { font-size: 27px; }
  .tool-detail .single-preview > img { height: 330px; }
  .tool-detail .compare-grid { gap: 10px; }
  .tabs { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); overflow: visible; gap: 4px; }
  .tabs button { padding-inline: 4px; font-size: 14px; }
  .tab-label-full { display: none; }
  .tab-label-short { display: inline; }
  .tool-menu { scrollbar-width: none; }
  .tool-menu::-webkit-scrollbar { display: none; }
  .continue-row { grid-template-columns: 1fr; gap: 10px; padding: 24px; }
  .continue-row > div { grid-column: auto; }
  .library-index { gap: 64px; margin-top: 40px; }
  .library-category { grid-template-columns: 1fr; gap: 26px; }
  .library-category-summary { position: static; }
  .library-category-heading { margin-bottom: 18px; }
  .library-category-heading h2 { font-size: 28px; }
  .library-category-photo { aspect-ratio: 16/10; object-position: center 35%; }
  .library-resource, .library-resource:first-child, .library-resource:last-child { grid-template-columns: 1fr; gap: 14px; padding: 22px; }
  .library-resource h3 { font-size: 18px; }
  .library-resource-actions { flex-direction: row; align-items: center; gap: 20px; }
  .library-pack-note { align-items: stretch; padding: 24px; margin-top: 56px; }
  .lora-introduction { gap: 36px; margin-bottom: 44px; }
  .lora-page-heading .home-section-copy { font-size: 16px; margin-top: 20px; }
  .lora-page-heading .home-product-actions { width: 100%; margin-top: 24px; }
  .lora-page-heading .home-product-actions > :is(a,button) { width: 100%; }
  .lora-page .home-lora-proof { gap: 12px; }
  .lora-page .home-lora-proof-title h2 { font-size: 22px; }
  .lora-page .home-lora-proof figcaption { font-size: 13px; }
  .lora-usage { padding: 28px 24px; }
  .lora-usage h2 { font-size: 32px; }
  .lora-delivery { padding-inline: 0; gap: 32px; margin-top: 40px; }
  .modal-body { padding: 28px 20px; }
  .modal-body h2 { font-size: 25px; }
  .modal-body .summary-list > div { grid-template-columns: 1fr; gap: 4px; }
}
@media (prefers-reduced-motion:reduce) {
  :is(.btn,.home-button,.home-link)[data-button-edge] { transition: none; }
  .pack-category { transition: none; }
}
@media (max-width:380px) {
  .tools-page .tabs { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 6px; }
}
