.public-surface-page,
.admin-surface-page {
    min-height: 100vh;
    height: auto;
}

/* Shop and FAQ: commerce clarity without losing the editorial system. */
.shop-page-v2 main,
.faq-page-v2 main { overflow: hidden; }

.shop-v2-hero,
.faq-v2-hero { display: grid; grid-template-columns: minmax(0,1.2fr) minmax(340px,.8fr); gap: clamp(3rem,8vw,9rem); align-items: end; max-width: 1380px; margin: 0 auto; padding: clamp(5rem,10vw,10rem) 1rem clamp(4rem,7vw,7rem); }
.shop-v2-hero h1,
.faq-v2-hero h1 { max-width: 10.5ch; margin: 1rem 0 0; font-size: clamp(4rem,8.3vw,8.4rem); line-height: .89; letter-spacing: -.072em; }
.shop-v2-hero-copy > p,
.faq-v2-intro > p { max-width: 43rem; margin: 0 0 2.2rem; font-size: clamp(1.12rem,1.7vw,1.5rem); line-height: 1.5; }
.shop-v2-hero-copy dl { margin: 0; border-top: 1px solid var(--tp-line); }
.shop-v2-hero-copy dl div { display: grid; grid-template-columns: 110px 1fr; gap: 1rem; padding: .85rem 0; border-bottom: 1px solid var(--tp-line); }
.shop-v2-hero-copy dt { color: var(--tp-moss); font-size: .68rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.shop-v2-hero-copy dd { margin: 0; font-size: .92rem; }

.shop-v2-index { display: grid; grid-template-columns: repeat(4,1fr); max-width: 1380px; margin: 0 auto clamp(5rem,9vw,9rem); border-top: 1px solid var(--tp-line); border-bottom: 1px solid var(--tp-line); }
.shop-v2-index a { display: grid; grid-template-columns: 36px 1fr; gap: .45rem; min-height: 145px; padding: 1.4rem 1.15rem; color: var(--tp-soot); text-decoration: none; border-right: 1px solid var(--tp-line); transition: color .2s ease,background .2s ease; }
.shop-v2-index a:last-child { border-right: 0; }
.shop-v2-index span { color: var(--tp-moss); font-size: .68rem; font-weight: 800; letter-spacing: .1em; }
.shop-v2-index strong { align-self: end; font: 620 clamp(1.2rem,1.8vw,1.65rem)/1.1 var(--font-heading); letter-spacing: -.035em; }
.shop-v2-index small { grid-column: 2; font-size: .78rem; }
@media (hover:hover) and (pointer:fine) { .shop-v2-index a:hover { color: var(--tp-bone-soft); background: var(--tp-moss); } .shop-v2-index a:hover span { color: var(--tp-moss-light); } }

.shop-v2-status { max-width: 1380px; margin: 0 auto 2rem; padding: 0 1rem; }
.shop-v2-status p { margin: .45rem 0; padding: .85rem 1rem; font-size: .86rem; line-height: 1.5; border-left: 4px solid var(--tp-moss); background: var(--tp-bone-deep); }
.shop-v2-status p[hidden] { display: none; }
.shop-v2-status a { font-weight: 750; }
.shop-v2-sections { min-height: 20rem; }
.shop-v2-loading,
.shop-v2-error { max-width: 1380px; margin: 0 auto; padding: 3rem 1rem 6rem; font-size: 1.1rem; }

.shop-v2-family { padding: clamp(5rem,9vw,9rem) max(1rem,calc((100% - 1380px)/2)); scroll-margin-top: 90px; }
.shop-v2-family-triggerpointed-apps { color: var(--tp-bone-soft); background: var(--tp-aubergine-deep); }
.shop-v2-family-fire2 { background: var(--tp-bone); }
.shop-v2-family-erechnung { background: var(--tp-bone-deep); }
.shop-v2-family-jsfx { color: var(--tp-bone-soft); background: var(--tp-soot); }
.shop-v2-family-heading { display: grid; grid-template-columns: minmax(180px,.38fr) minmax(0,1.62fr); gap: 2.5rem; align-items: start; margin-bottom: clamp(3rem,6vw,6rem); }
.shop-v2-family-heading h2 { max-width: 14ch; margin: 0; font-size: clamp(3.2rem,6.2vw,6.7rem); line-height: .92; letter-spacing: -.065em; }
.shop-v2-family-heading > div > p { max-width: 45rem; margin: 1.5rem 0 0; font-size: 1.05rem; line-height: 1.6; }
.shop-v2-family-triggerpointed-apps .tp-kicker,
.shop-v2-family-jsfx .tp-kicker { color: var(--tp-moss-light); }

.shop-v2-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); border-top: 1px solid currentColor; border-bottom: 1px solid currentColor; }
.shop-v2-card { position: relative; display: flex; flex-direction: column; min-height: 650px; padding: clamp(1.5rem,2.5vw,2.5rem); border-right: 1px solid currentColor; }
.shop-v2-card:last-child { border-right: 0; }
.shop-v2-card.is-recommended { color: var(--tp-bone-soft); background: var(--tp-moss); box-shadow: 0 28px 65px rgba(23,24,20,.22); }
.shop-v2-card-eyebrow { margin: 0; color: var(--tp-moss-light); font-size: .68rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.shop-v2-family-fire2 .shop-v2-card-eyebrow,
.shop-v2-family-erechnung .shop-v2-card-eyebrow { color: var(--tp-moss); }
.shop-v2-card-eyebrow span { display: inline-block; margin-right: .55rem; padding: .28rem .45rem; color: var(--tp-aubergine-deep); background: var(--tp-bone-soft); }
.shop-v2-card h3 { min-height: 2em; margin: 1.35rem 0 1.2rem; font-size: clamp(2rem,3.1vw,3.35rem); line-height: .98; letter-spacing: -.05em; }
.shop-v2-card-description { min-height: 7.5em; margin: 0; line-height: 1.55; }
.shop-v2-price { margin: 2.3rem 0 1.7rem; font: 600 clamp(2.4rem,4.1vw,4.2rem)/.95 var(--font-heading); letter-spacing: -.055em; }
.shop-v2-price small { display: block; margin-top: .5rem; font: 700 .68rem/1 var(--font-ui); letter-spacing: .1em; text-transform: uppercase; }
.shop-v2-details { margin: 0 0 2.2rem; padding: 0; list-style: none; border-top: 1px solid color-mix(in srgb,currentColor 28%,transparent); }
.shop-v2-details li { padding: .72rem 0; line-height: 1.4; border-bottom: 1px solid color-mix(in srgb,currentColor 28%,transparent); }
.shop-v2-details li::before { content: "·"; display: inline-block; width: 1rem; color: var(--tp-moss-light); font-weight: 900; }
.shop-v2-family-fire2 .shop-v2-details li::before,
.shop-v2-family-erechnung .shop-v2-details li::before { color: var(--tp-moss); }
.shop-v2-card-actions { display: flex; flex-wrap: wrap; gap: 1rem 1.4rem; align-items: center; margin-top: auto; }
.shop-v2-family-triggerpointed-apps .shop-v2-card:not(.is-recommended) .tp-button-primary,
.shop-v2-family-jsfx .tp-button-primary { color: var(--tp-aubergine-deep) !important; background: var(--tp-bone-soft); border-color: var(--tp-bone-soft); }
.shop-v2-card.is-recommended .tp-button-primary { color: var(--tp-aubergine-deep) !important; background: var(--tp-bone-soft); border-color: var(--tp-bone-soft); }
.shop-v2-family-erechnung .shop-v2-grid { grid-template-columns: minmax(280px,440px); }
.shop-v2-family-erechnung .shop-v2-card { min-height: 520px; border-right: 1px solid currentColor; }
.shop-v2-empty { grid-column: 1 / -1; min-height: 260px; padding: 2rem; }
.shop-v2-empty strong { display: block; margin-top: 5rem; font: 620 clamp(1.8rem,3vw,3rem)/1 var(--font-heading); }
.shop-v2-empty p { max-width: 42rem; line-height: 1.55; }

.shop-v2-footnote { padding: clamp(6rem,11vw,12rem) max(1rem,calc((100% - 1380px)/2)); color: var(--tp-bone-soft); background: var(--tp-moss); }
.shop-v2-footnote h2 { max-width: 14ch; margin: 1rem 0 2rem; font-size: clamp(3rem,7vw,7rem); line-height: .94; letter-spacing: -.065em; }
.shop-v2-footnote > p:last-child { max-width: 48rem; font-size: 1.1rem; line-height: 1.6; }

.faq-v2-group { display: grid; grid-template-columns: minmax(240px,.45fr) minmax(0,1.55fr); gap: clamp(3rem,8vw,10rem); padding: clamp(5rem,9vw,9rem) max(1rem,calc((100% - 1380px)/2)); }
.faq-v2-group-dark { color: var(--tp-bone-soft); background: var(--tp-aubergine-deep); }
.faq-v2-group-soft { background: var(--tp-bone-deep); }
.faq-v2-group-heading h2 { max-width: 9ch; margin: 1rem 0 0; font-size: clamp(2.8rem,5vw,5.3rem); line-height: .95; letter-spacing: -.06em; }
.faq-v2-group-dark .tp-kicker { color: var(--tp-moss-light); }
.faq-v2-list { border-top: 1px solid currentColor; }
.faq-v2-list details { border-bottom: 1px solid currentColor; }
.faq-v2-list summary { position: relative; padding: 1.6rem 4rem 1.6rem 0; cursor: pointer; list-style: none; font: 620 clamp(1.3rem,2.2vw,2rem)/1.2 var(--font-heading); letter-spacing: -.035em; }
.faq-v2-list summary::-webkit-details-marker { display: none; }
.faq-v2-list summary::after { content: "+"; position: absolute; right: .5rem; top: 1.45rem; color: var(--tp-moss); font: 400 1.5rem/1 var(--font-ui); }
.faq-v2-group-dark .faq-v2-list summary::after { color: var(--tp-moss-light); }
.faq-v2-list details[open] summary::after { content: "−"; }
.faq-v2-list p { max-width: 52rem; margin: 0 4rem 1.8rem 0; font-size: 1.04rem; line-height: 1.65; }
.faq-v2-final { padding: clamp(6rem,11vw,12rem) max(1rem,calc((100% - 1380px)/2)); color: var(--tp-bone-soft); background: var(--tp-moss); }
.faq-v2-final h2 { max-width: 13ch; margin: 1rem 0 2.5rem; font-size: clamp(3rem,7vw,7rem); line-height: .94; letter-spacing: -.065em; }
.faq-v2-final .tp-button-primary { color: var(--tp-aubergine-deep) !important; background: var(--tp-bone-soft); border-color: var(--tp-bone-soft); }

@media (max-width: 980px) {
  .shop-v2-hero,.faq-v2-hero,.faq-v2-group { grid-template-columns: 1fr; }
  .shop-v2-index { grid-template-columns: 1fr 1fr; margin-right: 1rem; margin-left: 1rem; }
  .shop-v2-index a:nth-child(2) { border-right: 0; }
  .shop-v2-index a:nth-child(-n+2) { border-bottom: 1px solid var(--tp-line); }
  .shop-v2-family-heading { grid-template-columns: 1fr; gap: 1.2rem; }
  .shop-v2-grid { grid-template-columns: 1fr; }
  .shop-v2-card { min-height: 0; border-right: 0; border-bottom: 1px solid currentColor; }
  .shop-v2-card:last-child { border-bottom: 0; }
  .shop-v2-card-description { min-height: 0; }
}

@media (max-width: 640px) {
  .shop-v2-hero h1,.faq-v2-hero h1 { font-size: clamp(3.4rem,16vw,5rem); }
  .shop-v2-index { grid-template-columns: 1fr; }
  .shop-v2-index a { min-height: 112px; border-right: 0; border-bottom: 1px solid var(--tp-line); }
  .shop-v2-index a:nth-child(2) { border-right: 0; }
  .shop-v2-index a:last-child { border-bottom: 0; }
  .shop-v2-family-heading h2 { font-size: clamp(2.5rem,11vw,3.4rem); overflow-wrap: anywhere; }
  .faq-v2-group-heading h2 { font-size: clamp(2.8rem,14vw,4.4rem); }
  .shop-v2-card { padding: 1.7rem 1rem; }
  .shop-v2-price { font-size: clamp(2.7rem,14vw,4rem); }
  .faq-v2-list summary { padding-right: 2.5rem; }
  .faq-v2-list p { margin-right: 0; }
}

/* Support, guides, and downloads: one task-led customer journey. */
.support-hub-page-v2 main,
.documents-page-v2 main,
.downloads-page-v2 main { overflow: hidden; }

.support-hub-hero,
.documents-hero,
.downloads-hero { display: grid; grid-template-columns: minmax(0,1.25fr) minmax(320px,.75fr); gap: clamp(3rem,8vw,9rem); align-items: end; max-width: 1380px; margin: 0 auto; padding: clamp(5rem,10vw,10rem) 1rem clamp(4rem,7vw,7rem); }
.support-hub-hero h1,
.documents-hero h1,
.downloads-hero h1 { max-width: 10.5ch; margin: 1.1rem 0 0; font-size: clamp(4rem,8.5vw,8.4rem); line-height: .89; letter-spacing: -.072em; }
.support-hub-intro,
.documents-hero-copy { align-self: end; padding-bottom: .5rem; }
.support-hub-intro > p,
.documents-hero-copy > p { max-width: 42rem; margin: 0 0 2rem; font-size: clamp(1.15rem,1.7vw,1.55rem); line-height: 1.48; }

.support-route-grid { display: grid; grid-template-columns: repeat(4,1fr); max-width: 1380px; margin: 0 auto clamp(6rem,10vw,11rem); border-top: 1px solid var(--tp-line); border-bottom: 1px solid var(--tp-line); }
.support-route-grid > a { position: relative; min-height: 330px; padding: 2rem 1.5rem; color: var(--tp-soot); text-decoration: none; border-right: 1px solid var(--tp-line); transition: color 180ms cubic-bezier(.22,1,.36,1),background 180ms cubic-bezier(.22,1,.36,1); }
.support-route-grid > a:last-child { border-right: 0; }
.support-route-grid span { display: block; color: var(--tp-moss); font-size: .7rem; font-weight: 800; letter-spacing: .1em; }
.support-route-grid strong { display: block; margin-top: 5rem; font: 650 clamp(1.7rem,2.6vw,2.6rem)/1 var(--font-heading); letter-spacing: -.055em; }
.support-route-grid p { max-width: 23rem; margin: 1.1rem 0 0; line-height: 1.5; }
.support-route-grid i { position: absolute; right: 1.5rem; bottom: 1.5rem; font-style: normal; font-size: 1.35rem; }
@media (hover:hover) and (pointer:fine) { .support-route-grid > a:hover { color: var(--tp-bone-soft); background: var(--tp-moss); } .support-route-grid > a:hover span { color: var(--tp-moss-light); } }

.support-next-step,
.documents-published { max-width: 1380px; margin: 0 auto; padding: 0 1rem clamp(6rem,10vw,11rem); }
.support-next-step .tp-section-heading,
.documents-published .tp-section-heading { display: grid; grid-template-columns: minmax(220px,.55fr) minmax(0,1.45fr); gap: 3rem; align-items: start; margin-bottom: clamp(3rem,6vw,6rem); }
.support-next-step h2,
.documents-published h2 { max-width: 12ch; margin: 0; font-size: clamp(3rem,6.5vw,6.6rem); line-height: .94; letter-spacing: -.065em; }
.support-next-step ol { margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--tp-line); }
.support-next-step li { display: grid; grid-template-columns: 50px minmax(0,1fr); gap: 1rem; padding: 1.8rem 0; border-bottom: 1px solid var(--tp-line); }
.support-next-step li > span { padding-top: .25rem; color: var(--tp-moss); font-size: .7rem; font-weight: 800; letter-spacing: .1em; }
.support-next-step li > div { display: grid; grid-template-columns: minmax(230px,.75fr) minmax(280px,1.25fr) auto; gap: clamp(1.5rem,4vw,5rem); align-items: baseline; }
.support-next-step strong { font: 620 clamp(1.25rem,2vw,1.8rem)/1.15 var(--font-heading); letter-spacing: -.035em; }
.support-next-step p { max-width: 42rem; margin: 0; line-height: 1.55; }
.support-next-step a { color: inherit; font-weight: 700; white-space: nowrap; }

.support-product-paths { display: grid; grid-template-columns: minmax(280px,.75fr) minmax(0,1.25fr); gap: clamp(3rem,8vw,10rem); padding: clamp(5rem,9vw,9rem) max(1rem,calc((100% - 1380px)/2)); color: var(--tp-bone-soft); background: var(--tp-aubergine-deep); }
.support-product-paths h2 { max-width: 10ch; margin: 1rem 0 1.5rem; font-size: clamp(3rem,5.7vw,5.8rem); line-height: .94; letter-spacing: -.065em; }
.support-product-paths > div:first-child > p:last-child { max-width: 34rem; font-size: 1.1rem; line-height: 1.6; }
.support-product-list { border-top: 1px solid rgba(242,237,227,.25); }
.support-product-list a { display: grid; grid-template-columns: 110px minmax(160px,.6fr) minmax(260px,1fr) auto; gap: 1.5rem; align-items: center; min-height: 98px; color: inherit; text-decoration: none; border-bottom: 1px solid rgba(242,237,227,.25); }
.support-product-list span { color: var(--tp-moss-light); font-size: .66rem; font-weight: 800; letter-spacing: .09em; }
.support-product-list strong { font: 620 1.45rem/1.1 var(--font-heading); letter-spacing: -.035em; }
.support-product-list small { color: rgba(242,237,227,.7); font-size: .9rem; line-height: 1.4; }
.support-product-list i { font-style: normal; font-size: 1.15rem; }

.support-final,
.documents-final,
.downloads-related { max-width: 1380px; margin: 0 auto; padding: clamp(5rem,9vw,9rem) 1rem; }
.support-final h2,
.documents-final h2,
.downloads-related h2 { max-width: 14ch; margin: 1rem 0 2.5rem; font-size: clamp(3rem,6vw,6.3rem); line-height: .94; letter-spacing: -.065em; }

.documents-hero { color: var(--tp-bone-soft); background: var(--tp-aubergine-deep); max-width: none; padding-left: max(1rem,calc((100% - 1380px)/2)); padding-right: max(1rem,calc((100% - 1380px)/2)); }
.documents-guide-list { border-top: 1px solid var(--tp-line); }
.documents-guide-list a { display: grid; grid-template-columns: 48px minmax(220px,.7fr) minmax(300px,1.3fr) 110px auto; gap: 1.5rem; align-items: center; min-height: 108px; color: var(--tp-soot); text-decoration: none; border-bottom: 1px solid var(--tp-line); }
.documents-guide-list span { color: var(--tp-moss); font-size: .7rem; font-weight: 800; }
.documents-guide-list strong { font: 620 clamp(1.3rem,2.2vw,2rem)/1.1 var(--font-heading); letter-spacing: -.04em; }
.documents-guide-list small { font-size: 1rem; line-height: 1.45; }
.documents-guide-list em { color: var(--tp-moss); font-style: normal; font-size: .65rem; font-weight: 800; letter-spacing: .09em; }
.documents-guide-list i { font-style: normal; font-size: 1.15rem; }
.documents-reference { display: grid; grid-template-columns: minmax(280px,.65fr) minmax(0,1.35fr); gap: clamp(3rem,8vw,9rem); padding: clamp(5rem,9vw,9rem) max(1rem,calc((100% - 1380px)/2)); background: var(--tp-bone-deep); }
.documents-reference h2 { max-width: 10ch; margin: 1rem 0 0; font-size: clamp(3rem,5.6vw,5.6rem); line-height: .94; letter-spacing: -.065em; }
.documents-reference-grid { display: grid; grid-template-columns: repeat(3,1fr); border-top: 1px solid var(--tp-line); border-bottom: 1px solid var(--tp-line); }
.documents-reference-grid article { min-height: 390px; padding: 1.8rem 1.3rem; border-right: 1px solid var(--tp-line); }
.documents-reference-grid article:last-child { border-right: 0; }
.documents-reference-grid span,.documents-reference-grid small { color: var(--tp-moss); font-size: .65rem; font-weight: 800; letter-spacing: .08em; }
.documents-reference-grid h3 { margin: 5rem 0 1rem; font-size: 1.7rem; letter-spacing: -.04em; }
.documents-reference-grid p { line-height: 1.55; }
.documents-reference-grid small,.documents-reference-grid a { display: block; margin-top: 2rem; }

.downloads-hero { color: var(--tp-bone-soft); background: var(--tp-soot); max-width: none; padding-left: max(1rem,calc((100% - 1380px)/2)); padding-right: max(1rem,calc((100% - 1380px)/2)); }
.downloads-status-board { border-top: 1px solid rgba(242,237,227,.25); }
.downloads-status-board p { display: grid; grid-template-columns: 36px minmax(0,1fr) auto; gap: 1rem; align-items: center; min-height: 70px; margin: 0; border-bottom: 1px solid rgba(242,237,227,.25); }
.downloads-status-board span { color: var(--tp-moss-light); font-size: .65rem; font-weight: 800; }
.downloads-status-board strong { font: 600 1rem/1.2 var(--font-heading); }
.downloads-status-board em { color: var(--tp-moss-light); font-style: normal; font-size: .62rem; font-weight: 800; letter-spacing: .08em; }
.downloads-message { max-width: 1380px; margin: 2rem auto; padding: 1rem; font-weight: 650; border-left: 4px solid var(--tp-moss); }
.downloads-message-success { background: rgba(174,187,120,.18); }
.downloads-message-error { border-left-color: var(--tp-aubergine); background: rgba(82,47,76,.12); }

.download-access { display: grid; grid-template-columns: 1fr 1fr; max-width: 1380px; margin: clamp(4rem,7vw,7rem) auto; border: 1px solid var(--tp-line); }
.download-access-explainer,
.download-access-form { padding: clamp(2rem,5vw,4.5rem); }
.download-access-explainer { color: var(--tp-bone-soft); background: var(--tp-moss); }
.download-access-explainer h2 { max-width: 11ch; margin: 1rem 0 1.5rem; font-size: clamp(2.7rem,5vw,5.2rem); line-height: .94; letter-spacing: -.06em; }
.download-access-explainer > p { max-width: 36rem; line-height: 1.6; }
.download-access-explainer .tp-button { margin-top: 1.5rem; }
.download-access-note { margin-top: 1.5rem; font-size: .9rem; line-height: 1.45; opacity: .75; }
.download-access-form { display: flex; flex-direction: column; justify-content: center; background: var(--tp-bone-deep); }
.download-access-form > label:not(.download-access-agb) { margin: 1.8rem 0 .45rem; font-size: .75rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.download-access-form input[type="email"] { width: 100%; padding: 1rem 0; color: var(--tp-soot); font: 600 1.15rem/1.2 var(--font-body); background: transparent; border: 0; border-bottom: 1px solid var(--tp-soot); border-radius: 0; }
.download-access-agb { display: flex; gap: .65rem; align-items: flex-start; margin: 1.4rem 0; }
.download-access-agb input { margin-top: .25rem; accent-color: var(--tp-moss); }
.download-access-form .tp-button { align-self: flex-start; }

.downloads-current,
.downloads-archive,
.downloads-prepared,
.downloads-windows { max-width: 1380px; margin: 0 auto; padding: clamp(4rem,8vw,8rem) 1rem; }
.downloads-current-heading,
.downloads-archive > div:first-child,
.downloads-prepared > div:first-child,
.downloads-windows > div:first-child { display: grid; grid-template-columns: minmax(220px,.55fr) minmax(0,1.45fr); gap: 3rem; align-items: start; }
.downloads-current h2,
.downloads-archive h2,
.downloads-prepared h2,
.downloads-windows h2 { max-width: 11ch; margin: 0; font-size: clamp(3rem,6vw,6.2rem); line-height: .94; letter-spacing: -.065em; }
.downloads-release-card { display: grid; grid-template-columns: .55fr 1.3fr .65fr; gap: clamp(2rem,5vw,6rem); margin-top: clamp(3rem,6vw,6rem); padding: clamp(2rem,4vw,4rem); color: var(--tp-bone-soft); background: var(--tp-soot); }
.downloads-release-version span { color: var(--tp-moss-light); font-size: .65rem; font-weight: 800; letter-spacing: .09em; }
.downloads-release-version strong { display: block; margin: .7rem 0; font: 650 clamp(3.5rem,6vw,6rem)/.9 var(--font-heading); letter-spacing: -.07em; }
.downloads-release-copy h3 { max-width: 18ch; margin: 0 0 1.5rem; font-size: clamp(1.6rem,2.7vw,2.5rem); line-height: 1.12; letter-spacing: -.045em; }
.downloads-release-copy ul { margin: 0; padding-left: 1.1rem; }
.downloads-release-copy li { margin-bottom: .6rem; }
.downloads-release-notes { margin-top: 1.5rem; padding-top: 1.5rem; white-space: pre-line; border-top: 1px solid rgba(242,237,227,.22); opacity: .76; }
.downloads-release-action { display: flex; flex-direction: column; align-items: flex-start; gap: 1rem; }
.downloads-release-action small { opacity: .7; }
.downloads-locked-preview { display: grid; grid-template-columns: .7fr 1.3fr; gap: clamp(2rem,7vw,8rem); margin-top: clamp(3rem,6vw,6rem); padding: clamp(2rem,4vw,4rem); border: 1px solid var(--tp-line); background: repeating-linear-gradient(-45deg,transparent,transparent 18px,rgba(91,99,56,.05) 18px,rgba(91,99,56,.05) 19px); }
.downloads-locked-preview div { display: flex; flex-direction: column; gap: 1rem; font: 620 clamp(1.7rem,3vw,2.7rem)/1.05 var(--font-heading); }
.downloads-locked-preview div span { color: var(--tp-moss); }
.downloads-locked-preview p { max-width: 40rem; margin: 0; font-size: 1.1rem; line-height: 1.6; }

.downloads-archive { border-top: 1px solid var(--tp-line); }
.downloads-archive-list { margin-top: 3rem; border-top: 1px solid var(--tp-line); }
.downloads-archive-list article { display: grid; grid-template-columns: 42px 220px minmax(0,1fr) auto; gap: 1.5rem; align-items: center; min-height: 100px; border-bottom: 1px solid var(--tp-line); }
.downloads-archive-list > article > span { color: var(--tp-moss); font-size: .67rem; font-weight: 800; }
.downloads-archive-list strong,.downloads-archive-list small { display: block; }
.downloads-archive-list strong { font: 620 1.25rem/1.2 var(--font-heading); }
.downloads-archive-list small { margin-top: .3rem; opacity: .7; }
.downloads-archive-list p { margin: 0; line-height: 1.45; }
.downloads-archive-list a { color: inherit; font-weight: 700; }

.downloads-prepared { display: grid; grid-template-columns: minmax(300px,.8fr) minmax(0,1.2fr); gap: clamp(3rem,8vw,9rem); color: var(--tp-bone-soft); background: var(--tp-aubergine-deep); max-width: none; padding-left: max(1rem,calc((100% - 1380px)/2)); padding-right: max(1rem,calc((100% - 1380px)/2)); }
.downloads-prepared > div:first-child { display: block; }
.downloads-prepared > div:first-child p:last-child { max-width: 40rem; line-height: 1.6; }
.downloads-prepared-list { border-top: 1px solid rgba(242,237,227,.25); }
.downloads-prepared-list article { display: grid; grid-template-columns: 90px minmax(160px,.65fr) minmax(260px,1fr); gap: 1.5rem; align-items: center; min-height: 100px; border-bottom: 1px solid rgba(242,237,227,.25); }
.downloads-prepared-list span { color: var(--tp-moss-light); font-size: .65rem; font-weight: 800; letter-spacing: .09em; }
.downloads-prepared-list strong { font: 620 1.35rem/1.15 var(--font-heading); }
.downloads-prepared-list small { color: rgba(242,237,227,.7); font-size: .9rem; }

.downloads-jsfx-list article { grid-template-columns: 70px minmax(160px,.55fr) minmax(260px,1fr) minmax(190px,.5fr); padding: 1.35rem 0; }
.downloads-jsfx-list article > div { min-width: 0; }
.downloads-jsfx-list article > div > small { display: block; margin-top: .35rem; }
.downloads-jsfx-detail p { margin: 0 0 .5rem; line-height: 1.45; }
.downloads-jsfx-detail code { color: rgba(242,237,227,.62); font: 600 .72rem/1.3 ui-monospace,SFMono-Regular,Menlo,monospace; letter-spacing: .015em; }
.downloads-jsfx-action { display: flex; flex-direction: column; align-items: flex-start; gap: .65rem; }
.downloads-jsfx-action .tp-button { width: 100%; padding-right: 1rem; padding-left: 1rem; text-align: center; }
.downloads-jsfx-action > small { line-height: 1.35; }
.downloads-jsfx-development { opacity: .72; }
.downloads-jsfx-development .tp-text-link { color: var(--tp-bone-soft); }

@media (max-width: 1320px) {
  .downloads-jsfx { grid-template-columns: 1fr; }
}

.downloads-windows { display: grid; grid-template-columns: minmax(300px,.8fr) minmax(0,1.2fr); gap: clamp(3rem,8vw,9rem); border-bottom: 1px solid var(--tp-line); }
.downloads-windows > div:first-child { display: block; }
.downloads-windows > div:last-child { align-self: end; padding-bottom: .5rem; }
.downloads-windows > div:last-child p { max-width: 42rem; margin: 0 0 1.8rem; font-size: 1.1rem; line-height: 1.6; }

@media (max-width: 1000px) {
  .support-hub-hero,.documents-hero,.downloads-hero,.support-product-paths,.documents-reference,.downloads-prepared,.downloads-windows { grid-template-columns: 1fr; }
  .support-route-grid { grid-template-columns: 1fr 1fr; }
  .support-route-grid > a:nth-child(2) { border-right: 0; }
  .support-route-grid > a:nth-child(-n+2) { border-bottom: 1px solid var(--tp-line); }
  .support-next-step li > div { grid-template-columns: minmax(220px,.8fr) minmax(0,1.2fr); }
  .support-next-step li a { grid-column: 2; }
  .support-product-list a { grid-template-columns: 90px minmax(150px,.65fr) minmax(0,1.35fr) auto; }
  .documents-reference-grid { grid-template-columns: 1fr; }
  .documents-reference-grid article { min-height: 0; border-right: 0; border-bottom: 1px solid var(--tp-line); }
  .documents-reference-grid article:last-child { border-bottom: 0; }
  .documents-reference-grid h3 { margin-top: 2.5rem; }
  .documents-guide-list a { grid-template-columns: 42px minmax(190px,.8fr) minmax(0,1.2fr) auto; }
  .documents-guide-list em { display: none; }
  .download-access { grid-template-columns: 1fr; margin-right: 1rem; margin-left: 1rem; }
  .downloads-release-card { grid-template-columns: .55fr 1.45fr; }
  .downloads-release-action { grid-column: 2; }
}

@media (max-width: 680px) {
  .support-hub-hero h1,.documents-hero h1,.downloads-hero h1 { font-size: clamp(3.6rem,17vw,5.3rem); }
  .support-route-grid { grid-template-columns: 1fr; margin-right: 1rem; margin-left: 1rem; }
  .support-route-grid > a { min-height: 230px; border-right: 0; border-bottom: 1px solid var(--tp-line); }
  .support-route-grid > a:last-child { border-bottom: 0; }
  .support-route-grid strong { margin-top: 3.5rem; }
  .support-next-step .tp-section-heading,.documents-published .tp-section-heading,.downloads-current-heading,.downloads-archive > div:first-child { grid-template-columns: 1fr; gap: 1.2rem; }
  .support-next-step li { grid-template-columns: 34px 1fr; }
  .support-next-step li > div { grid-template-columns: 1fr; gap: .9rem; }
  .support-next-step li a { grid-column: 1; margin-top: .6rem; }
  .support-product-list a { grid-template-columns: 1fr auto; gap: .5rem 1rem; padding: 1rem 0; }
  .support-product-list span,.support-product-list small { grid-column: 1; }
  .support-product-list strong { grid-column: 1; }
  .support-product-list i { grid-column: 2; grid-row: 1 / 4; }
  .documents-guide-list a { grid-template-columns: 34px 1fr auto; gap: .55rem 1rem; padding: 1rem 0; }
  .documents-guide-list small { grid-column: 2 / 4; }
  .documents-guide-list i { grid-column: 3; grid-row: 1 / 3; }
  .downloads-status-board p { grid-template-columns: 30px 1fr; padding: .8rem 0; }
  .downloads-status-board em { grid-column: 2; }
  .download-access-explainer,.download-access-form { padding: 2rem 1rem; }
  .downloads-release-card { grid-template-columns: 1fr; padding: 2rem 1rem; }
  .downloads-release-action { grid-column: 1; }
  .downloads-locked-preview { grid-template-columns: 1fr; padding: 2rem 1rem; }
  .downloads-archive-list article { grid-template-columns: 34px 1fr auto; gap: .7rem 1rem; padding: 1rem 0; }
  .downloads-archive-list p { grid-column: 2 / 4; }
  .downloads-archive-list a { grid-column: 3; grid-row: 1; }
  .downloads-prepared-list article { grid-template-columns: 70px 1fr; gap: .7rem; padding: 1rem 0; }
  .downloads-prepared-list small { grid-column: 2; }
  .downloads-jsfx-list article { grid-template-columns: 58px 1fr; gap: .8rem 1rem; padding: 1.4rem 0; }
  .downloads-jsfx-detail,.downloads-jsfx-action { grid-column: 2; }
  .downloads-jsfx-action .tp-button { width: auto; }
  .downloads-jsfx-list article > div > small { grid-column: auto; }
  .downloads-jsfx-development .downloads-jsfx-action { grid-column: 2; }
  .support-final h2,.documents-final h2,.downloads-related h2 { font-size: clamp(3rem,14vw,4.7rem); }
}

/* Global editorial navigation: compact desktop dropdowns, mobile accordions. */
.site-menu-toggle { display: none; }
.site-nav-primary > li { position: relative; }
body > header nav > #auth-nav { margin-left: 0; }
.site-nav-primary .nav-shop-link { font-weight: 800; }
.site-nav-primary .nav-shop-link[aria-current="page"] { color: var(--tp-moss,#5b6338); }
.site-nav-primary .nav-shop-link[aria-current="page"]::after { display: block; height: 2px; margin-top: .22rem; content: ""; background: currentColor; }
.site-nav-parent { display: inline-flex; align-items: center; gap: .18rem; }
.site-nav-submenu-toggle { display: inline-grid; place-items: center; width: 1.4rem; min-height: 1.4rem; margin: 0; padding: 0; color: inherit; background: transparent; border: 0; border-radius: 50%; cursor: pointer; }
.site-nav-submenu-toggle i { display: block; width: .42rem; height: .42rem; border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor; transform: translateY(-.12rem) rotate(45deg); transition: transform 160ms cubic-bezier(.22,1,.36,1); }
.site-nav-group.is-open .site-nav-submenu-toggle i { transform: translateY(.1rem) rotate(225deg); }
.site-nav-group.is-current-section > .site-nav-parent > .site-nav-top-link { color: var(--tp-moss,#5b6338); }
.site-nav-group.is-current-section > .site-nav-parent > .site-nav-top-link::after { display: block; height: 2px; margin-top: .22rem; content: ""; background: var(--tp-moss,#5b6338); }

header nav .site-submenu { position: absolute; top: calc(100% + 1.25rem); left: -.9rem; display: grid; width: min(390px,calc(100vw - 2rem)); margin: 0; padding: .65rem; gap: 0; visibility: hidden; opacity: 0; pointer-events: none; color: var(--tp-bone-soft,#f2ede3); background: var(--tp-soot,#171814); border: 1px solid rgba(242,237,227,.22); box-shadow: 0 24px 55px rgba(23,24,20,.28); transform: translate3d(0,-6px,0) scale(.985); transform-origin: 2rem top; transition: opacity 150ms cubic-bezier(.22,1,.36,1),transform 180ms cubic-bezier(.22,1,.36,1),visibility 0s linear 180ms; z-index: 180; }
body.design-v2 > header nav .site-submenu { gap: 0; }
body.design-v2 > header nav .site-submenu a { color: var(--tp-bone-soft,#f2ede3); }
header nav .site-nav-group.is-open > .site-submenu { visibility: visible; opacity: 1; pointer-events: auto; transform: translate3d(0,0,0) scale(1); transition-delay: 0s; }
header nav .site-submenu li { width: 100%; border-bottom: 1px solid rgba(242,237,227,.16); }
header nav .site-submenu li:last-child { border-bottom: 0; }
header nav .site-submenu a { display: grid; grid-template-columns: 34px 1fr; gap: .15rem .8rem; width: 100%; padding: .8rem .75rem; color: inherit; text-decoration: none; }
header nav .site-submenu a > span { grid-row: 1 / 3; padding-top: .18rem; color: var(--tp-moss-light,#aebb78); font-size: .62rem; font-weight: 800; letter-spacing: .08em; }
header nav .site-submenu strong { font: 600 1rem/1.1 var(--font-heading); letter-spacing: -.02em; text-transform: none; }
header nav .site-submenu small { color: rgba(242,237,227,.66); font: 500 .76rem/1.35 var(--font-body); letter-spacing: 0; text-transform: none; }
header nav .site-submenu a[aria-current="page"] { background: rgba(174,187,120,.12); }
.site-submenu-overview a { background: rgba(242,237,227,.055); }

@media (hover: hover) and (pointer: fine) and (min-width: 1321px) {
  header nav .site-submenu a:hover { color: var(--tp-bone-soft,#f2ede3); background: rgba(174,187,120,.12); }
}

@media (max-width: 1320px) {
  body > header { grid-template-columns: minmax(0,1fr) auto; padding-right: max(1rem,calc((100% - 1380px)/2)); padding-left: max(1rem,calc((100% - 1380px)/2)); }
  body > header .brand { justify-self: start; }
  .site-menu-toggle { display: inline-flex; gap: .7rem; align-items: center; justify-self: end; min-height: 2.35rem; margin: 0; padding: .45rem .72rem; color: var(--tp-soot,#171814); font: 750 .72rem/1 var(--font-ui); letter-spacing: .06em; text-transform: uppercase; background: transparent; border: 1px solid var(--tp-line,rgba(23,24,20,.2)); border-radius: 999px; cursor: pointer; }
  .site-menu-toggle i { position: relative; display: block; width: .8rem; height: .7rem; border-top: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor; }
  .site-menu-toggle i::after { position: absolute; top: 50%; right: 0; width: 65%; content: ""; border-top: 1.5px solid currentColor; transform: translateY(-50%); }
  body > header .header-right { display: none; grid-column: 1 / -1; width: 100%; max-width: none; max-height: calc(100vh - 84px); margin: .9rem 0 0; padding: 0; overflow-y: auto; }
  body > header.site-menu-open .header-right { display: block; }
  body > header nav { display: grid; grid-template-columns: minmax(0,1fr); gap: 1rem; width: 100%; }
  body > header nav > .site-nav-primary { display: flex; flex-direction: column; gap: 0; align-items: stretch; width: 100%; border-top: 1px solid var(--tp-line,rgba(23,24,20,.2)); }
  body > header nav > .site-nav-primary > li { display: block !important; width: 100%; border-bottom: 1px solid var(--tp-line,rgba(23,24,20,.2)); }
  body > header nav > .site-nav-primary > li > a,
  .site-nav-parent { width: 100%; }
  body > header nav > .site-nav-primary > li > a,
  .site-nav-parent > .site-nav-top-link { display: block; flex: 1; padding: .95rem 0; }
  .site-nav-submenu-toggle { width: 2.75rem; min-height: 2.75rem; margin-left: auto; }
  header nav .site-submenu { position: static; display: none; width: 100%; padding: .3rem 0 .8rem; visibility: visible; opacity: 1; pointer-events: auto; background: transparent; border: 0; border-top: 1px solid var(--tp-line,rgba(23,24,20,.2)); box-shadow: none; transform: none; transition: none; }
  header nav .site-nav-group.is-open > .site-submenu { display: grid; }
  header nav .site-submenu li { display: list-item !important; border-color: var(--tp-line,rgba(23,24,20,.2)); }
  header nav .site-submenu a,body.design-v2 > header nav .site-submenu a { padding: .8rem .35rem; color: var(--tp-soot,#171814); }
  header nav .site-submenu small { color: rgba(23,24,20,.68); }
  header nav .site-submenu a[aria-current="page"],.site-submenu-overview a { background: rgba(91,99,56,.09); }
  body > header nav > .site-nav-primary .nav-shop-link[aria-current="page"]::after { display: none; }
  body > header #auth-nav { justify-content: flex-start; width: 100%; margin: 0; padding-top: .2rem; flex-wrap: wrap; }
  .design-v2 .nav-primary-action { display: inline-block !important; width: auto !important; margin: .6rem 0; padding: .7rem 1rem !important; }
}

@media (prefers-reduced-motion: reduce) {
  .service-scope-track { animation: none; transform: translate3d(-16%,0,0); }
  header nav .site-submenu,.site-nav-submenu-toggle i { transition: opacity 1ms linear; }
}

.design-v2 {
    --tp-bone: #e8e1d1;
    --tp-bone-soft: #f2ede3;
    --tp-soot: #171814;
    --tp-soot-soft: #22231e;
    --tp-moss: #5b6338;
    --tp-moss-light: #aebb78;
    --tp-aubergine: #6b4c68;
    --tp-aubergine-deep: #392838;
    --tp-line: rgba(23, 24, 20, 0.2);
    --tp-page: min(100% - 2rem, 1380px);
    background: var(--tp-bone);
    color: var(--tp-soot);
    padding: 0;
    text-align: left;
}

.design-v2 :focus-visible {
    outline-color: var(--tp-moss);
}

.design-v2.public-surface-page { background: var(--tp-bone); }
.design-v2 > header,
.design-v2 > footer { width: 100%; max-width: none; }

.design-v2 > header {
    position: sticky;
    top: 0;
    z-index: 100;
    min-height: 86px;
    padding: 1rem max(1rem, calc((100% - 1380px) / 2));
    background: rgba(232, 225, 209, 0.94) !important;
    border-bottom: 1px solid var(--tp-line) !important;
    box-shadow: none !important;
    backdrop-filter: blur(14px);
}

.design-v2 > header .brand-text { color: var(--tp-soot); letter-spacing: -0.04em; }
.design-v2 > header .logo { filter: none; }
.design-v2 > header nav { align-items: center; }
.design-v2 > header nav ul { gap: clamp(.35rem, 1vw, 1.15rem); }
.design-v2 > header nav a,
.design-v2 > header nav button { color: var(--tp-soot); font-size: .82rem; letter-spacing: .045em; text-transform: uppercase; }
.design-v2 > header nav a:hover { color: var(--tp-aubergine-deep); }
.design-v2 .nav-primary-action {
    padding: .7rem 1rem;
    color: var(--tp-bone-soft) !important;
    background: var(--tp-aubergine-deep);
    border-radius: 999px;
}
.design-v2 .lang-chip { border-color: var(--tp-line); }
.design-v2 #auth-nav .lang-chip:hover {
    color: var(--tp-moss);
    border-color: var(--tp-moss);
    background: rgba(91, 99, 56, 0.1);
}
.design-v2 #auth-nav .lang-chip.is-active,
.design-v2 #auth-nav .lang-chip[aria-current="page"] {
    color: var(--tp-soot);
    border-color: var(--tp-moss);
    background: rgba(91, 99, 56, 0.2);
}

.design-v2 main { overflow: clip; }
.design-v2 h1,
.design-v2 h2,
.design-v2 h3 { color: inherit; }
.design-v2 a { color: inherit; }

/* Account entry: a shared editorial shell for login, registration, and recovery. */
.auth-page-v2 main { min-height: calc(100vh - 86px); }
.auth-shell {
    display: grid;
    grid-template-columns: minmax(0, 1.08fr) minmax(360px, .72fr);
    width: min(1180px, calc(100% - 2rem));
    margin: clamp(2.5rem, 7vw, 7rem) auto;
    border: 1px solid var(--tp-line);
    background: var(--tp-bone-soft);
}
.auth-context { padding: clamp(2rem, 5vw, 5rem); background: var(--tp-soot); color: var(--tp-bone-soft); }
.auth-eyebrow,.auth-panel-kicker { margin: 0 0 1.5rem; color: var(--tp-moss-light); font: 800 .65rem/1 var(--font-ui); letter-spacing: .14em; text-transform: uppercase; }
.auth-context h1 { max-width: 11ch; margin: 0; font-size: clamp(3rem, 6.2vw, 6.8rem); line-height: .86; letter-spacing: -.075em; }
.auth-context > p:not(.auth-eyebrow,.auth-context-note) { max-width: 42rem; margin: 2rem 0 0; color: rgba(242,237,227,.78); font-size: clamp(1rem, 1.4vw, 1.3rem); }
.auth-context-list { display: grid; margin: 2.5rem 0 0; padding: 0; list-style: none; border-top: 1px solid rgba(242,237,227,.2); }
.auth-context-list li { padding: .85rem 0; color: rgba(242,237,227,.82); border-bottom: 1px solid rgba(242,237,227,.2); }
.auth-context-note { max-width: 38rem; margin: 2rem 0 0; padding: 1rem 0 0; color: var(--tp-moss-light); border-top: 1px solid rgba(242,237,227,.2); font-size: .84rem; }
.auth-panel { display: flex; flex-direction: column; justify-content: center; padding: clamp(2rem, 4vw, 4rem); color: var(--tp-soot); }
.auth-panel-kicker { color: var(--tp-moss); }
.auth-panel h2 { margin: 0 0 2rem; font-size: clamp(2.3rem, 4vw, 4rem); line-height: .9; letter-spacing: -.055em; }
.auth-form { display: grid; gap: .65rem; }
.auth-form label { margin-top: .7rem; font: 800 .66rem/1 var(--font-ui); letter-spacing: .09em; text-transform: uppercase; }
.auth-form input { min-height: 3.2rem; padding: .75rem 0; color: var(--tp-soot); background: transparent; border: 0; border-bottom: 1px solid var(--tp-soot); border-radius: 0; box-shadow: none; }
.auth-form input:focus { outline: 0; border-bottom-color: var(--tp-moss); box-shadow: 0 2px 0 var(--tp-moss); }
.auth-submit { min-height: 3.2rem; margin-top: 1.5rem; color: var(--tp-bone-soft); background: var(--tp-aubergine-deep); border: 0; border-radius: 0; font-weight: 800; }
.auth-submit:hover { color: var(--tp-bone-soft); background: var(--tp-moss); }
.auth-secondary-links { display: flex; flex-wrap: wrap; gap: .65rem 1.4rem; margin-top: 1.5rem; }
.auth-secondary-links a { border-bottom: 1px solid currentColor; font-size: .82rem; font-weight: 750; }
.auth-message { min-height: 1.3em; margin: 1rem 0 0; font-size: .86rem; }
.auth-message-error { color: #8b2f36; }
.auth-message-success { color: var(--tp-moss); }
.auth-status { margin: 0; padding: 1.2rem 0; border-top: 1px solid var(--tp-line); border-bottom: 1px solid var(--tp-line); }
.auth-shell-compact .auth-context h1 { font-size: clamp(3rem, 5vw, 5.8rem); }

@media (max-width: 820px) {
  .auth-shell { grid-template-columns: 1fr; margin: 1rem auto 3rem; }
  .auth-context,.auth-panel { padding: clamp(1.5rem, 7vw, 3rem); }
  .auth-context h1 { font-size: clamp(3rem, 13vw, 5.5rem); }
}

/* Member workspace: a calm technical ledger, not a generic dashboard. */
.member-page-v2 main { overflow: hidden; background: var(--tp-bone); }
.member-hero {
    display: grid;
    grid-template-columns: minmax(0, 1.18fr) minmax(360px, .82fr);
    min-height: 610px;
    color: var(--tp-bone-soft);
    background: var(--tp-soot);
}
.member-hero-copy {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: clamp(4rem, 9vw, 9rem) max(1rem, calc((100vw - 1380px) / 2));
    padding-right: clamp(3rem, 8vw, 9rem);
}
.member-hero-copy > .tp-kicker { color: var(--tp-moss-light); }
.member-hero-copy h1 {
    max-width: 11ch;
    margin: 1rem 0 2rem;
    overflow-wrap: anywhere;
    font-size: clamp(4rem, 7.8vw, 8.2rem);
    line-height: .88;
    letter-spacing: -.073em;
}
.member-hero-copy > p:not(.tp-kicker) {
    max-width: 46rem;
    margin: 0;
    color: rgba(242,237,227,.74);
    font-size: clamp(1.08rem, 1.55vw, 1.4rem);
    line-height: 1.56;
}
.member-hero-actions { display: flex; flex-wrap: wrap; gap: 1rem 1.5rem; align-items: center; margin-top: 2.5rem; }
.member-hero .tp-button-primary { color: var(--tp-aubergine-deep) !important; background: var(--tp-bone-soft); border-color: var(--tp-bone-soft); }
.member-hero .tp-text-link { color: var(--tp-bone-soft); }
.member-logout {
    padding: .55rem 0;
    color: rgba(242,237,227,.65);
    background: transparent;
    border: 0;
    border-bottom: 1px solid currentColor;
    font: 750 .78rem/1 var(--font-ui);
    text-transform: uppercase;
    letter-spacing: .07em;
}
.member-hero-ledger {
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    margin: 0;
    padding: clamp(3rem, 6vw, 6rem);
    color: var(--tp-bone-soft);
    background: var(--tp-aubergine-deep);
}
.member-hero-ledger div { display: grid; grid-template-columns: 150px 1fr; gap: 1rem; padding: 1.35rem 0; border-bottom: 1px solid rgba(242,237,227,.25); }
.member-hero-ledger div:first-child { border-top: 1px solid rgba(242,237,227,.25); }
.member-hero-ledger dt { color: var(--tp-moss-light); font-size: .67rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.member-hero-ledger dd { margin: 0; font-size: 1rem; }
.member-hero-routes { display: grid; align-content: end; padding: clamp(3rem, 6vw, 6rem); background: var(--tp-moss); }
.member-hero-routes a {
    position: relative;
    display: grid;
    grid-template-columns: 44px 1fr auto;
    gap: .8rem;
    align-items: baseline;
    min-height: 112px;
    padding: 1.35rem 0;
    color: var(--tp-bone-soft);
    text-decoration: none;
    border-bottom: 1px solid rgba(242,237,227,.28);
}
.member-hero-routes a:first-child { border-top: 1px solid rgba(242,237,227,.28); }
.member-hero-routes span { color: var(--tp-moss-light); font-size: .68rem; font-weight: 800; }
.member-hero-routes strong { font: 620 clamp(1.5rem, 2.5vw, 2.4rem)/1 var(--font-heading); letter-spacing: -.045em; }
.member-hero-routes small { grid-column: 2; color: rgba(242,237,227,.72); font-size: .85rem; }
.member-hero-routes i { grid-column: 3; grid-row: 1 / 3; align-self: center; font-style: normal; font-size: 1.25rem; }
.member-workspace { max-width: 1380px; margin: 0 auto; padding: clamp(4rem, 8vw, 8rem) 1rem clamp(7rem, 12vw, 13rem); }
.member-alert {
    display: flex;
    gap: 2rem;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 4rem;
    padding: 1.2rem 1.35rem;
    color: var(--tp-soot);
    background: var(--tp-moss-light);
    border: 0;
    border-left: 5px solid var(--tp-moss);
    border-radius: 0;
}
.member-inline-action {
    padding: .45rem 0;
    color: inherit;
    background: transparent;
    border: 0;
    border-bottom: 1px solid currentColor;
    font: 750 .78rem/1.2 var(--font-ui);
}
.member-section + .member-section { margin-top: clamp(6rem, 10vw, 11rem); }
.member-section-heading {
    display: grid;
    grid-template-columns: minmax(210px, .45fr) minmax(0, 1.55fr);
    gap: clamp(2rem, 7vw, 8rem);
    align-items: start;
    margin-bottom: clamp(3rem, 6vw, 6rem);
}
.member-section-heading h2 {
    max-width: 13ch;
    margin: 0;
    font-size: clamp(3rem, 6.4vw, 6.6rem);
    line-height: .93;
    letter-spacing: -.065em;
}
.member-section-heading-compact h2 { max-width: 15ch; font-size: clamp(2.8rem, 5.3vw, 5.4rem); }
.member-profile-grid { display: grid; grid-template-columns: minmax(0, .82fr) minmax(0, 1.18fr); border: 1px solid var(--tp-line); }
.member-panel { min-width: 0; padding: clamp(2rem, 5vw, 4.5rem); background: var(--tp-bone-soft); }
.member-panel + .member-panel { border-left: 1px solid var(--tp-line); }
.member-panel-heading { display: grid; grid-template-columns: 48px 1fr; gap: 1rem; align-items: baseline; margin-bottom: 2.5rem; }
.member-panel-heading p { margin: 0; color: var(--tp-moss); font-size: .68rem; font-weight: 800; letter-spacing: .1em; }
.member-panel-heading h3 { margin: 0; font-size: clamp(2.2rem, 4vw, 4rem); line-height: .95; letter-spacing: -.055em; }
.member-form { display: grid; gap: .7rem; margin: 0; }
.member-form label { margin-top: 1rem; font-size: .66rem; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; }
.member-form input {
    width: 100%;
    min-height: 3.4rem;
    padding: .8rem 0;
    color: var(--tp-soot);
    background: transparent;
    border: 0;
    border-bottom: 1px solid var(--tp-soot);
    border-radius: 0;
    box-shadow: none;
}
.member-form input:focus { outline: 0; border-bottom-color: var(--tp-moss); box-shadow: 0 2px 0 var(--tp-moss); }
.member-form-actions,.member-panel-actions { display: flex; flex-wrap: wrap; gap: 1rem 1.4rem; align-items: center; margin-top: 2rem; }
.member-secondary-button { color: var(--tp-soot); background: transparent; border-color: var(--tp-soot); }
.member-access-panel { color: var(--tp-bone-soft); background: var(--tp-aubergine-deep); }
.member-access-panel .member-panel-heading p { color: var(--tp-moss-light); }
.member-access-stats { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid rgba(242,237,227,.25); border-bottom: 1px solid rgba(242,237,227,.25); }
.member-access-stats div { min-width: 0; padding: 1.4rem 1rem; border-right: 1px solid rgba(242,237,227,.25); }
.member-access-stats div:first-child { padding-left: 0; }
.member-access-stats div:last-child { padding-right: 0; border-right: 0; }
.member-access-stats p { min-height: 2.4em; margin: 0; color: var(--tp-moss-light); font-size: .66rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.member-access-stats strong { display: block; margin-top: 1rem; font: 600 clamp(3rem, 5vw, 5.3rem)/.9 var(--font-heading); letter-spacing: -.06em; }
.member-access-note { margin: 1.5rem 0 0; color: rgba(242,237,227,.7); line-height: 1.5; }
.member-access-panel .member-secondary-button { color: var(--tp-bone-soft); border-color: rgba(242,237,227,.65); }
.member-access-panel .tp-text-link { color: var(--tp-bone-soft); }
.member-kpi-strip { display: grid; grid-template-columns: repeat(3, 1fr); color: var(--tp-bone-soft); background: var(--tp-moss); }
.member-kpi-strip article { min-height: 320px; padding: clamp(1.6rem, 3vw, 2.8rem); border-right: 1px solid rgba(242,237,227,.3); }
.member-kpi-strip article:last-child { border-right: 0; }
.member-kpi-strip p { margin: 0; color: var(--tp-moss-light); font-size: .7rem; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; }
.member-kpi-strip strong { display: block; margin: 3rem 0 2rem; font: 600 clamp(4.6rem, 8vw, 8rem)/.8 var(--font-heading); letter-spacing: -.075em; }
.member-kpi-strip small { display: block; max-width: 18rem; color: rgba(242,237,227,.75); font-size: .9rem; line-height: 1.45; }
.member-route-grid { display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid var(--tp-line); border-bottom: 1px solid var(--tp-line); }
.member-route-grid > a { position: relative; min-height: 340px; padding: 2rem 1.5rem; color: var(--tp-soot); text-decoration: none; border-right: 1px solid var(--tp-line); transition: color 180ms ease, background 180ms ease; }
.member-route-grid > a:last-child { border-right: 0; }
.member-route-grid span { color: var(--tp-moss); font-size: .68rem; font-weight: 800; letter-spacing: .1em; }
.member-route-grid strong { display: block; margin-top: 5rem; font: 620 clamp(1.6rem, 2.4vw, 2.4rem)/1 var(--font-heading); letter-spacing: -.05em; }
.member-route-grid p { margin: 1.2rem 0 0; line-height: 1.5; }
.member-route-grid i { position: absolute; right: 1.5rem; bottom: 1.5rem; font-style: normal; font-size: 1.25rem; }
.member-route-grid > a:not(.hidden):nth-child(5) { border-top: 1px solid var(--tp-line); }
@media (hover:hover) and (pointer:fine) { .member-route-grid > a:hover { color: var(--tp-bone-soft); background: var(--tp-moss); } .member-route-grid > a:hover span { color: var(--tp-moss-light); } }
.member-record-section { min-width: 0; }
.member-table-wrap { width: 100%; overflow-x: auto; border-top: 1px solid var(--tp-line); }
.member-page-v2 .account-table { width: 100%; min-width: 760px; border-collapse: collapse; }
.member-page-v2 .account-table th { padding: 1rem .8rem; color: var(--tp-moss); font-size: .65rem; font-weight: 800; letter-spacing: .09em; text-align: left; text-transform: uppercase; border-bottom: 1px solid var(--tp-line); }
.member-page-v2 .account-table td { padding: 1.25rem .8rem; color: var(--tp-soot); border-bottom: 1px solid var(--tp-line); }
.member-page-v2 .account-table th:first-child,.member-page-v2 .account-table td:first-child { padding-left: 0; }
.member-page-v2 .account-table th:last-child,.member-page-v2 .account-table td:last-child { padding-right: 0; }
.member-page-v2 .mono-key { color: var(--tp-aubergine-deep); font-size: .78rem; overflow-wrap: anywhere; }
.member-page-v2 .status-pill { color: var(--tp-soot); border-color: var(--tp-line); background: var(--tp-bone-deep); }
.member-page-v2 .status-pill-active,.member-page-v2 .status-pill-order-paid { color: #384020; border-color: rgba(91,99,56,.4); background: rgba(174,187,120,.35); }
.member-page-v2 .status-pill-expired,.member-page-v2 .status-pill-suspended,.member-page-v2 .status-pill-order-payment_failed,.member-page-v2 .status-pill-order-refunded,.member-page-v2 .status-pill-order-disputed { color: var(--tp-aubergine-deep); border-color: rgba(107,76,104,.35); background: rgba(107,76,104,.14); }
.member-page-v2 .account-empty { margin: 0; padding: 1.5rem 0; color: color-mix(in srgb, var(--tp-soot) 65%, transparent); border-bottom: 1px solid var(--tp-line); }
.member-page-v2 .account-empty-inline { color: color-mix(in srgb, var(--tp-soot) 60%, transparent); }
.member-message { min-height: 0; margin: 2rem 0 0; padding: 0; color: var(--tp-moss); background: transparent; }
.member-message:empty { display: none; }
.member-message.error { color: var(--tp-aubergine); }

@media (max-width: 980px) {
  .member-hero,.member-section-heading,.member-profile-grid { grid-template-columns: 1fr; }
  .member-hero { min-height: 0; }
  .member-hero-copy { padding: clamp(4rem, 10vw, 7rem) max(1rem, calc((100vw - 760px) / 2)); }
  .member-hero-ledger,.member-hero-routes { padding: clamp(2rem, 7vw, 4rem) max(1rem, calc((100vw - 760px) / 2)); }
  .member-panel + .member-panel { border-top: 1px solid var(--tp-line); border-left: 0; }
  .member-route-grid { grid-template-columns: 1fr 1fr; }
  .member-route-grid > a:nth-child(2n) { border-right: 0; }
  .member-route-grid > a:nth-child(-n+2) { border-bottom: 1px solid var(--tp-line); }
}

@media (max-width: 680px) {
  .member-hero-copy h1 { font-size: clamp(3.4rem, 16vw, 5rem); }
  .member-hero-ledger div { grid-template-columns: 1fr; gap: .5rem; }
  .member-alert { align-items: flex-start; flex-direction: column; gap: .8rem; }
  .member-section-heading { gap: 1rem; }
  .member-section-heading h2,.member-section-heading-compact h2 { font-size: clamp(2.8rem, 13vw, 4.3rem); }
  .member-panel { padding: 2rem 1rem; }
  .member-access-stats,.member-kpi-strip,.member-route-grid { grid-template-columns: 1fr; }
  .member-access-stats div,.member-access-stats div:first-child,.member-access-stats div:last-child { padding: 1.2rem 0; border-right: 0; border-bottom: 1px solid rgba(242,237,227,.25); }
  .member-access-stats div:last-child { border-bottom: 0; }
  .member-access-stats p { min-height: 0; }
  .member-kpi-strip article { min-height: 0; border-right: 0; border-bottom: 1px solid rgba(242,237,227,.3); }
  .member-kpi-strip article:last-child { border-bottom: 0; }
  .member-route-grid > a,.member-route-grid > a:nth-child(2n),.member-route-grid > a:nth-child(-n+2) { min-height: 260px; border-right: 0; border-bottom: 1px solid var(--tp-line); }
  .member-route-grid > a:last-child { border-bottom: 0; }
}

/* Cart and checkout: keep the buying flow inside the editorial system. */
.cart-page-v2 main,
.checkout-result-page main { overflow: hidden; }
.cart-hero {
    display: grid;
    grid-template-columns: minmax(0, 1.18fr) minmax(340px, .82fr);
    gap: clamp(3rem, 8vw, 9rem);
    align-items: end;
    max-width: 1380px;
    margin: 0 auto;
    padding: clamp(5rem, 10vw, 10rem) 1rem clamp(4rem, 7vw, 7rem);
}
.cart-hero h1 {
    max-width: 10ch;
    margin: 1rem 0 0;
    font-size: clamp(4rem, 8vw, 8.2rem);
    line-height: .89;
    letter-spacing: -.072em;
}
.cart-hero-copy > p {
    max-width: 43rem;
    margin: 0 0 2.2rem;
    font-size: clamp(1.12rem, 1.7vw, 1.5rem);
    line-height: 1.5;
}
.cart-hero-copy dl { margin: 0; border-top: 1px solid var(--tp-line); }
.cart-hero-copy dl div {
    display: grid;
    grid-template-columns: 120px 1fr;
    gap: 1rem;
    padding: .85rem 0;
    border-bottom: 1px solid var(--tp-line);
}
.cart-hero-copy dt {
    color: var(--tp-moss);
    font-size: .68rem;
    font-weight: 800;
    letter-spacing: .1em;
    text-transform: uppercase;
}
.cart-hero-copy dd { margin: 0; font-size: .92rem; }
.cart-workspace {
    max-width: 1380px;
    margin: 0 auto;
    padding: 0 1rem clamp(6rem, 10vw, 11rem);
}
.cart-workspace-heading {
    display: grid;
    grid-template-columns: minmax(190px, .38fr) minmax(0, 1.62fr);
    gap: 2.5rem;
    align-items: start;
    margin-bottom: clamp(2.5rem, 5vw, 5rem);
}
.cart-workspace-heading h2 {
    margin: 0;
    font-size: clamp(3rem, 6.4vw, 6.5rem);
    line-height: .92;
    letter-spacing: -.065em;
}
.cart-panel { min-height: 220px; border-top: 1px solid var(--tp-line); }
.cart-state,.cart-empty { margin: 0; padding: 1.5rem 0; border-bottom: 1px solid var(--tp-line); }
.cart-state a,.cart-empty a { font-weight: 750; }
.cart-empty p { margin: 0 0 .8rem; font: 620 clamp(1.5rem, 2.5vw, 2.2rem)/1.15 var(--font-heading); letter-spacing: -.035em; }
.cart-table-wrap { width: 100%; overflow-x: auto; }
.cart-table { width: 100%; min-width: 780px; border-collapse: collapse; }
.cart-table th {
    padding: 1rem .8rem;
    color: var(--tp-moss);
    font-size: .65rem;
    font-weight: 800;
    letter-spacing: .09em;
    text-align: left;
    text-transform: uppercase;
    border-bottom: 1px solid var(--tp-line);
}
.cart-table td { padding: 1.25rem .8rem; border-bottom: 1px solid var(--tp-line); }
.cart-table th:first-child,.cart-table td:first-child { padding-left: 0; }
.cart-table th:last-child,.cart-table td:last-child { padding-right: 0; text-align: right; }
.cart-qty-input {
    width: 66px;
    min-height: 42px;
    padding: .5rem;
    color: var(--tp-soot);
    background: transparent;
    border: 1px solid var(--tp-line);
    border-radius: 0;
}
.cart-remove { padding: .35rem 0; color: inherit; background: transparent; border: 0; border-bottom: 1px solid currentColor; font: 700 .8rem/1.2 var(--font-ui); }
.cart-total-row { display: flex; gap: 2rem; justify-content: space-between; align-items: center; padding: 2rem 0; }
.cart-total-row > strong { font: 620 clamp(1.7rem, 3vw, 3rem)/1 var(--font-heading); letter-spacing: -.045em; }
.cart-total-row > strong span { display: block; margin-bottom: .5rem; color: var(--tp-moss); font: 800 .65rem/1 var(--font-ui); letter-spacing: .1em; text-transform: uppercase; }
.cart-checkout-actions { display: flex; flex-wrap: wrap; gap: .75rem; justify-content: flex-end; }
.cart-secondary-action { color: var(--tp-soot); background: transparent; }
.cart-checkout-note { margin: 0; padding: .9rem 1rem; line-height: 1.5; border-left: 4px solid var(--tp-moss); background: var(--tp-bone-deep); }
.cart-checkout-note + .cart-checkout-note { margin-top: .65rem; }
.cart-legal { margin-top: 1.5rem; }
.cart-legal p { margin: 0; color: color-mix(in srgb, var(--tp-soot) 68%, transparent); font-size: .82rem; line-height: 1.5; }

.checkout-result-page [hidden] { display: none !important; }
.checkout-result-shell {
    display: grid;
    grid-template-columns: minmax(280px, .72fr) minmax(0, 1.28fr);
    min-height: calc(100vh - 86px);
    color: var(--tp-bone-soft);
    background: var(--tp-soot);
}
.checkout-result-mark { position: relative; min-height: 620px; overflow: hidden; background: var(--tp-moss); }
.checkout-result-mark::before,.checkout-result-mark::after { content: ""; position: absolute; inset: 50% auto auto 50%; width: min(42vw, 560px); aspect-ratio: 1; border: 1px solid rgba(242,237,227,.35); border-radius: 50%; transform: translate(-50%,-50%) scaleY(.42) rotate(28deg); }
.checkout-result-mark::after { transform: translate(-50%,-50%) scaleY(.28) rotate(-45deg); }
.checkout-result-mark span { position: absolute; z-index: 1; inset: 50% auto auto 50%; font: 500 clamp(5rem, 12vw, 12rem)/1 var(--font-heading); transform: translate(-50%,-50%); }
.checkout-result-mark-cancel { background: var(--tp-aubergine-deep); }
.checkout-result-content { align-self: center; padding: clamp(3rem, 8vw, 9rem); }
.checkout-result-content > .tp-kicker { color: var(--tp-moss-light); }
.checkout-result-content h1 { max-width: 11ch; margin: 1rem 0 2rem; font-size: clamp(3.5rem, 7vw, 7.5rem); line-height: .9; letter-spacing: -.07em; }
.checkout-result-lead { max-width: 46rem; margin: 0; color: rgba(242,237,227,.78); font-size: clamp(1.1rem, 1.55vw, 1.4rem); line-height: 1.55; }
.checkout-result-legal { max-width: 42rem; margin: 2rem 0 0; color: rgba(242,237,227,.65); font-size: .82rem; line-height: 1.5; }
.checkout-license-delivery { max-width: 48rem; margin-top: 3rem; padding: 2rem; color: var(--tp-soot); background: var(--tp-bone-soft); }
.checkout-license-delivery .tp-kicker { color: var(--tp-moss); }
.checkout-license-delivery h2 { margin: .8rem 0 1rem; font-size: clamp(2rem, 3.5vw, 3.4rem); letter-spacing: -.05em; }
.checkout-license-delivery ul { margin: 1.5rem 0; padding: 0; list-style: none; border-top: 1px solid var(--tp-line); }
.checkout-license-delivery li { padding: .9rem 0; border-bottom: 1px solid var(--tp-line); }
.checkout-result-status { max-width: 46rem; margin: 2rem 0 0; padding: 1rem; color: var(--tp-soot); line-height: 1.5; border-left: 4px solid var(--tp-moss-light); background: var(--tp-bone); }
.checkout-result-error { border-left-color: var(--tp-aubergine); }
.checkout-result-actions { display: flex; flex-wrap: wrap; gap: 1.4rem; align-items: center; margin-top: 2.8rem; }
.checkout-result-page .checkout-result-actions .tp-button-primary { color: var(--tp-aubergine-deep) !important; background: var(--tp-bone-soft); border-color: var(--tp-bone-soft); }

@media (max-width: 900px) {
  .cart-hero,.cart-workspace-heading,.checkout-result-shell { grid-template-columns: 1fr; }
  .checkout-result-mark { min-height: 280px; }
  .checkout-result-content { padding: clamp(3rem, 8vw, 6rem) max(1rem, calc((100vw - 760px) / 2)); }
}

@media (max-width: 680px) {
  .cart-hero h1 { font-size: clamp(3.3rem, 15vw, 5rem); }
  .cart-workspace-heading { gap: 1rem; }
  .cart-total-row { align-items: flex-start; flex-direction: column; }
  .cart-checkout-actions { justify-content: flex-start; }
  .checkout-result-content h1 { font-size: clamp(3.2rem, 15vw, 5rem); }
  .checkout-result-mark { min-height: 220px; }
}

.tp-kicker {
    margin: 0 0 1.2rem;
    font-family: var(--font-ui);
    font-size: .75rem;
    font-weight: 700;
    letter-spacing: .16em;
    text-transform: uppercase;
}

.tp-hero {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1.1fr) minmax(320px, .9fr);
    min-height: calc(100vh - 86px);
    padding: clamp(4rem, 9vw, 9rem) max(1rem, calc((100% - 1380px) / 2));
    border-bottom: 1px solid var(--tp-line);
}

.tp-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    opacity: .18;
    background-image: radial-gradient(rgba(23,24,20,.48) .55px, transparent .55px);
    background-size: 7px 7px;
    mask-image: linear-gradient(90deg, #000, transparent 52%);
}

.tp-hero-copy { position: relative; z-index: 2; align-self: center; max-width: 790px; }
.tp-hero h1 {
    max-width: 12ch;
    margin: 0;
    font-size: clamp(3.5rem, 7.4vw, 8.2rem);
    font-weight: 600;
    line-height: .92;
    letter-spacing: -.065em;
}
.tp-hero-lead { max-width: 38rem; margin: 2rem 0 0; font-size: clamp(1.15rem, 1.65vw, 1.55rem); line-height: 1.45; }
.tp-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 1.4rem; margin-top: 2.25rem; }
.tp-action-note { margin: .85rem 0 0; color: color-mix(in srgb, currentColor 70%, transparent); font-size: .82rem; line-height: 1.45; }
.tp-button { display: inline-flex; align-items: center; min-height: 48px; padding: .85rem 1.25rem; font-weight: 700; text-decoration: none; border: 1px solid currentColor; }
.tp-button-primary { color: var(--tp-bone-soft) !important; background: var(--tp-aubergine-deep); border-color: var(--tp-aubergine-deep); }
.tp-button-primary:hover { background: var(--tp-aubergine); border-color: var(--tp-aubergine); transform: translateY(-2px); }
.tp-text-link { font-weight: 700; text-decoration-thickness: 1px; text-underline-offset: .35em; }
.tp-text-link span { display: inline-block; transition: transform .2s ease; }
.tp-text-link:hover span { transform: translate(.2rem, -.2rem); }

.tp-hero-object { position: relative; align-self: center; min-height: min(62vw, 700px); }
.tp-core,
.tp-orbit { position: absolute; inset: 50% auto auto 50%; display: block; transform: translate(-50%, -50%); border-radius: 50%; }
.tp-core {
    width: min(30vw, 420px); aspect-ratio: 1;
    background:
      radial-gradient(circle at 34% 28%, rgba(242,237,227,.8), transparent 8%),
      radial-gradient(circle at 40% 34%, var(--tp-moss-light), var(--tp-moss) 42%, #31351e 72%);
    box-shadow: inset -35px -42px 70px rgba(0,0,0,.34), inset 18px 14px 35px rgba(255,255,255,.22), 0 40px 80px rgba(57,40,56,.2);
}
.tp-core::after { content: ""; position: absolute; inset: 17%; border: 1px solid rgba(242,237,227,.38); border-radius: 48% 52% 55% 45%; transform: rotate(-23deg); }
.tp-orbit { border: 1px solid var(--tp-aubergine); opacity: .58; }
.tp-orbit-a { width: min(42vw, 610px); aspect-ratio: 1; transform: translate(-50%,-50%) rotate(18deg) scaleY(.42); }
.tp-orbit-b { width: min(37vw, 530px); aspect-ratio: 1; transform: translate(-50%,-50%) rotate(-49deg) scaleY(.34); }
.tp-object-label { position: absolute; right: 1rem; bottom: 13%; font: 700 .68rem/1 var(--font-ui); letter-spacing: .16em; writing-mode: vertical-rl; }
.tp-hero-index { position: absolute; right: max(1rem, calc((100% - 1380px) / 2)); bottom: 1.25rem; margin: 0; font: 700 .72rem/1 var(--font-ui); letter-spacing: .12em; }

.tp-proof { padding: clamp(5rem, 9vw, 10rem) max(1rem, calc((100% - 1380px) / 2)); background: var(--tp-soot); color: var(--tp-bone-soft); }
.tp-section-heading { display: grid; grid-template-columns: minmax(160px,.34fr) 1fr; gap: 2rem; align-items: start; margin-bottom: clamp(2.5rem, 5vw, 5rem); }
.tp-section-heading h2 { max-width: 20ch; margin: 0; font-size: clamp(2.4rem, 4.8vw, 5.4rem); line-height: 1; letter-spacing: -.055em; }
.tp-section-heading-wide h2 { max-width: 22ch; }
.tp-product-frame { margin: 0; border: 1px solid rgba(232,225,209,.25); background: #10110e; }
.tp-product-frame img { display: block; width: 100%; height: auto; }
.tp-product-frame figcaption { display: flex; justify-content: space-between; gap: 1rem; padding: .85rem 1rem; color: var(--tp-moss-light); font: 600 .75rem/1.3 var(--font-ui); letter-spacing: .08em; text-transform: uppercase; }
.tp-workflow { display: grid; grid-template-columns: repeat(3,1fr); gap: 0; margin: 3.5rem 0 0; padding: 0; list-style: none; border-top: 1px solid rgba(232,225,209,.28); }
.tp-workflow li { padding: 1.4rem 2rem 0 0; border-right: 1px solid rgba(232,225,209,.18); }
.tp-workflow li + li { padding-left: 2rem; }
.tp-workflow span { display: block; margin-bottom: 3rem; color: var(--tp-moss-light); font-size: .75rem; }
.tp-workflow strong { display: block; font: 600 clamp(1.5rem,2.6vw,2.6rem)/1 var(--font-heading); }
.tp-workflow p { max-width: 26rem; color: rgba(242,237,227,.72); }

.tp-worlds { padding: clamp(5rem, 9vw, 10rem) max(1rem, calc((100% - 1380px) / 2)); background: var(--tp-bone-soft); }
.tp-world-list { border-top: 1px solid var(--tp-line); }
.tp-world-list a { display: grid; grid-template-columns: 90px 1fr auto; align-items: center; gap: 1rem; padding: clamp(1.5rem,3vw,2.8rem) 0; border-bottom: 1px solid var(--tp-line); text-decoration: none; }
.tp-world-list a:hover { color: var(--tp-aubergine-deep); }
.tp-world-list strong { display: block; font: 600 clamp(1.6rem,3.2vw,3.6rem)/1 var(--font-heading); letter-spacing: -.04em; }
.tp-world-list small { display: block; max-width: 46rem; margin-top: .55rem; font-size: 1rem; }
.tp-world-number { color: var(--tp-moss); font-weight: 700; }
.tp-world-list i { font-style: normal; font-size: 1.8rem; transition: transform .2s ease; }
.tp-world-list a:hover i { transform: translate(.3rem,-.3rem); }

.tp-closing { padding: clamp(5rem,10vw,11rem) max(1rem, calc((100% - 1380px) / 2)); background: var(--tp-aubergine-deep); color: var(--tp-bone-soft); }
.tp-closing blockquote { max-width: 15ch; margin: 0; font: 600 clamp(3rem,7vw,7.5rem)/.98 var(--font-heading); letter-spacing: -.06em; }
.tp-closing .tp-button-primary { color: var(--tp-aubergine-deep) !important; background: var(--tp-moss-light); border-color: var(--tp-moss-light); }

/* Fire2 product page */
.fire2-page-v2 main { background: var(--tp-bone); }
.fire2-page-v2 .fire2-screenshot-trigger {
    display: block;
    width: 100%;
    margin: 0;
    padding: 0;
    overflow: hidden;
    color: inherit;
    background: #11120f;
    border: 1px solid rgba(23, 24, 20, .22);
    border-radius: 0;
    cursor: zoom-in;
}
.fire2-page-v2 .fire2-screenshot-trigger img {
    display: block;
    width: 100%;
    height: auto;
    margin: 0;
    transition: transform .45s cubic-bezier(.2,.75,.25,1), opacity .25s ease;
}
.fire2-page-v2 .fire2-screenshot-trigger:hover img { transform: scale(1.012); opacity: .96; }
.fire2-page-v2 .fire2-screenshot-trigger:focus-visible { outline: 3px solid var(--tp-moss); outline-offset: 4px; }

.fire2-hero {
    display: grid;
    grid-template-columns: minmax(0, .82fr) minmax(460px, 1.18fr);
    gap: clamp(2.5rem, 6vw, 7rem);
    align-items: center;
    min-height: calc(100vh - 86px);
    padding: clamp(4rem, 8vw, 8.5rem) max(1rem, calc((100% - 1380px) / 2));
    background:
      radial-gradient(circle at 15% 15%, rgba(174,187,120,.2), transparent 30%),
      var(--tp-bone);
    border-bottom: 1px solid var(--tp-line);
}
.fire2-hero-copy { min-width: 0; }
.fire2-title-lockup { display: grid; grid-template-columns: 92px 1fr; gap: 1.5rem; align-items: start; }
.fire2-title-lockup img { width: 92px; height: 92px; object-fit: contain; }
.fire2-title-lockup h1 {
    max-width: 12ch;
    margin: 0;
    font-size: clamp(3.15rem, 5.5vw, 6.75rem);
    font-weight: 600;
    line-height: .94;
    letter-spacing: -.062em;
}
.fire2-hero-lead { max-width: 47rem; margin: 2rem 0 0; font-size: clamp(1.08rem, 1.35vw, 1.35rem); line-height: 1.5; }
.fire2-facts { display: flex; flex-wrap: wrap; gap: .55rem 1.5rem; margin: 2.5rem 0 0; padding: 1rem 0 0; list-style: none; border-top: 1px solid var(--tp-line); }
.fire2-facts li { font-size: .78rem; font-weight: 700; letter-spacing: .07em; text-transform: uppercase; }
.fire2-hero-media { box-shadow: 0 28px 70px rgba(57,40,56,.2); transform: rotate(.65deg); }

.fire2-workflow,
.fire2-evidence,
.fire2-tiers,
.fire2-details,
.fire2-faq {
    padding: clamp(5rem, 9vw, 10rem) max(1rem, calc((100% - 1380px) / 2));
}
.fire2-workflow { color: var(--tp-bone-soft); background: var(--tp-soot); }
.fire2-workflow .tp-workflow { margin-top: 0; }

.fire2-evidence { background: var(--tp-bone-soft); }
.fire2-evidence-grid { display: grid; grid-template-columns: minmax(0,1.55fr) minmax(300px,.45fr); gap: clamp(2rem,5vw,5rem); align-items: start; }
.fire2-evidence-main { position: sticky; top: 1.5rem; }
.fire2-evidence-copy { border-top: 1px solid var(--tp-line); }
.fire2-evidence-copy article { padding: 1.4rem 0 1.6rem; border-bottom: 1px solid var(--tp-line); }
.fire2-evidence-copy article > span,
.fire2-tier-index { color: var(--tp-moss); font-size: .72rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.fire2-evidence-copy h3 { margin: .8rem 0 .55rem; font-size: clamp(1.25rem,1.8vw,1.75rem); }
.fire2-evidence-copy p { margin: 0; line-height: 1.55; }

.fire2-tiers { color: var(--tp-bone-soft); background: var(--tp-aubergine-deep); }
.fire2-license-boundary { display: grid; grid-template-columns: 1fr 1fr; margin: 0 0 2rem; border: 1px solid rgba(242,237,227,.3); }
.fire2-license-boundary p { display: grid; gap: .55rem; margin: 0; padding: 1.25rem 1.4rem; }
.fire2-license-boundary p:first-child { background: rgba(174,187,120,.16); }
.fire2-license-boundary p + p { border-left: 1px solid rgba(242,237,227,.3); }
.fire2-license-boundary strong { color: var(--tp-moss-light); font-size: .75rem; letter-spacing: .1em; text-transform: uppercase; }
.fire2-license-boundary span { max-width: 46rem; line-height: 1.5; }
.fire2-tier-grid { display: grid; grid-template-columns: repeat(3,1fr); border-top: 1px solid rgba(242,237,227,.28); border-bottom: 1px solid rgba(242,237,227,.28); }
.fire2-tier { display: flex; flex-direction: column; min-width: 0; padding: clamp(1.5rem,3vw,2.75rem); border-right: 1px solid rgba(242,237,227,.2); }
.fire2-tier:last-child { border-right: 0; }
.fire2-tier-featured { background: var(--tp-moss); }
.fire2-tier-featured .fire2-tier-index { color: var(--tp-bone-soft); }
.fire2-tier h3 { min-height: 2.4em; margin: 1.2rem 0 2rem; font-size: clamp(1.7rem,2.8vw,3rem); line-height: 1.05; letter-spacing: -.04em; }
.fire2-purchase-option { padding: 1rem 0 1.2rem; border-top: 1px solid rgba(242,237,227,.28); }
.fire2-purchase-option p { margin: 0 0 .5rem; color: var(--tp-moss-light); font-size: .7rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.fire2-purchase-option strong { font: 600 clamp(1.85rem,2.8vw,3.2rem)/1 var(--font-heading); }
.fire2-purchase-option-apps p span { display: inline-block; margin-right: .45rem; padding: .2rem .42rem; color: var(--tp-aubergine-deep); background: var(--tp-moss-light); }
.fire2-tier h4 { margin: 0 0 .65rem; font-size: .72rem; letter-spacing: .08em; text-transform: uppercase; }
.fire2-tier-featured .fire2-purchase-option p { color: var(--tp-bone-soft); }
.fire2-tier-featured .fire2-purchase-option-apps p span { color: var(--tp-aubergine-deep); background: var(--tp-bone-soft); }
.fire2-tier ul { margin: 0; padding-left: 1.15rem; }
.fire2-tier li { margin: .65rem 0; line-height: 1.45; }
.fire2-perpetual-option { display: grid; gap: .45rem; margin-top: auto; padding: 1.25rem 0 0; border-top: 1px solid rgba(242,237,227,.28); }
.fire2-perpetual-option p { margin: 0; font-size: .68rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.fire2-perpetual-option strong { font: 600 1.2rem/1.2 var(--font-heading); }
.fire2-perpetual-option span { color: rgba(242,237,227,.68); font-size: .82rem; line-height: 1.45; }
.fire2-subscription-note { margin-top: 2.5rem; padding: 1.4rem 0; border-top: 1px solid rgba(242,237,227,.28); border-bottom: 1px solid rgba(242,237,227,.28); }
.fire2-subscription-note summary { cursor: pointer; font: 600 clamp(1.35rem,2vw,2rem)/1.2 var(--font-heading); }
.fire2-subscription-note p { max-width: 60rem; color: rgba(242,237,227,.78); }

.fire2-details { background: var(--tp-bone); }
.fire2-detail-columns { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(2rem,7vw,8rem); margin-bottom: 4rem; }
.fire2-detail-columns article { padding-top: 1.25rem; border-top: 1px solid var(--tp-line); }
.fire2-detail-columns h3 { font-size: clamp(1.7rem,2.7vw,3rem); }
.fire2-detail-columns li { margin: .7rem 0; line-height: 1.5; }
.fire2-modular-shot { max-width: 1160px; margin-left: auto !important; }

.fire2-faq { background: var(--tp-bone-soft); }
.fire2-faq-list { border-top: 1px solid var(--tp-line); }
.fire2-faq-list details { border-bottom: 1px solid var(--tp-line); }
.fire2-faq-list summary { padding: 1.4rem 3rem 1.4rem 0; cursor: pointer; font: 600 clamp(1.2rem,2vw,1.8rem)/1.25 var(--font-heading); }
.fire2-faq-list p { max-width: 52rem; margin: 0 0 1.5rem; font-size: 1.05rem; line-height: 1.6; }
.fire2-faq > p { margin-top: 2rem; }

.fire2-final-cta { padding: clamp(5rem,10vw,11rem) max(1rem, calc((100% - 1380px) / 2)); color: var(--tp-bone-soft); background: var(--tp-soot); }
.fire2-final-cta h2 { max-width: 13ch; margin: 0; font-size: clamp(3rem,7vw,7rem); line-height: .98; letter-spacing: -.06em; }
.fire2-final-cta .tp-button-primary { color: var(--tp-aubergine-deep) !important; background: var(--tp-moss-light); border-color: var(--tp-moss-light); }
.fire2-page-v2 .screenshot-viewer { z-index: 1000; }

.software-hero {
    display: grid;
    grid-template-columns: minmax(0,1.04fr) minmax(400px,.96fr);
    gap: clamp(3rem,7vw,8rem);
    align-items: center;
    min-height: calc(100vh - 86px);
    padding: clamp(5rem,9vw,9rem) max(1rem,calc((100% - 1380px)/2));
    background:
      radial-gradient(circle at 84% 14%, rgba(174,187,120,.24), transparent 28%),
      linear-gradient(135deg, var(--tp-bone-soft), var(--tp-bone));
    border-bottom: 1px solid var(--tp-line);
}
.software-hero h1 { max-width: 10ch; margin: 0; font-size: clamp(3.5rem,7vw,7.7rem); line-height: .92; letter-spacing: -.065em; }
.software-hero-lead { max-width: 42rem; margin: 2rem 0 0; font-size: clamp(1.1rem,1.5vw,1.45rem); line-height: 1.5; }
.software-hero-map { position: relative; min-height: 580px; }
.software-hero-map article { position: absolute; display: grid; align-content: end; width: min(78%,430px); min-height: 245px; padding: 2rem; border: 1px solid var(--tp-line); box-shadow: 0 24px 60px rgba(57,40,56,.12); }
.software-hero-map article:nth-child(1) { top: 0; right: 0; color: var(--tp-soot); background: var(--tp-bone-soft); transform: rotate(2deg); }
.software-hero-map article:nth-child(2) { z-index: 2; top: 155px; left: 0; color: var(--tp-bone-soft); background: var(--tp-moss); transform: rotate(-2deg); }
.software-hero-map article:nth-child(3) { right: 3%; bottom: 0; color: var(--tp-bone-soft); background: var(--tp-aubergine-deep); transform: rotate(1deg); }
.software-hero-map span { position: absolute; top: 1.5rem; left: 1.5rem; font: 700 .7rem/1 var(--font-ui); letter-spacing: .14em; }
.software-hero-map strong { max-width: 12ch; font: 600 clamp(1.8rem,3vw,3.4rem)/.98 var(--font-heading); letter-spacing: -.04em; }
.software-hero-map small { margin-top: .8rem; font-size: .82rem; line-height: 1.4; }

.software-access,
.software-jsfx,
.software-more { padding: clamp(5rem,9vw,10rem) max(1rem,calc((100% - 1380px)/2)); }
.software-access { color: var(--tp-bone-soft); background: var(--tp-soot); }
.software-access-grid { display: grid; grid-template-columns: repeat(3,1fr); border-top: 1px solid rgba(242,237,227,.26); border-bottom: 1px solid rgba(242,237,227,.26); }
.software-access-grid > article { display: flex; flex-direction: column; min-height: 560px; padding: clamp(1.5rem,3vw,2.8rem); border-right: 1px solid rgba(242,237,227,.2); }
.software-access-grid > article:last-child { border-right: 0; }
.software-access-featured { background: var(--tp-moss); }
.software-access-index,
.software-tool-state { margin: 0; color: var(--tp-moss-light); font-size: .7rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.software-access-featured .software-access-index { color: var(--tp-bone-soft); }
.software-access-index span { display: inline-block; margin-right: .55rem; padding: .25rem .45rem; color: var(--tp-aubergine-deep); background: var(--tp-bone-soft); }
.software-access-grid h3 { min-height: 2.2em; margin: 1.25rem 0 2rem; font-size: clamp(2rem,3vw,3.5rem); line-height: 1; letter-spacing: -.045em; }
.software-access-price { min-height: 4rem; margin: 0 0 1.5rem; }
.software-access-price strong { display: block; font: 600 clamp(2rem,3vw,3.4rem)/1 var(--font-heading); }
.software-access-grid ul { margin: 0 0 2.2rem; padding-left: 1.1rem; }
.software-access-grid li { margin: .8rem 0; line-height: 1.5; }
.software-access-grid .tp-text-link { margin-top: auto; }

.software-fire2 { display: grid; grid-template-columns: minmax(300px,.42fr) minmax(0,.58fr); gap: clamp(3rem,7vw,8rem); align-items: center; padding: clamp(5rem,9vw,10rem) max(1rem,calc((100% - 1380px)/2)); background: var(--tp-bone-soft); }
.software-fire2 h2 { margin: 0; font-size: clamp(2.7rem,5vw,5.8rem); line-height: .98; letter-spacing: -.055em; }
.software-fire2-copy > p:not(.tp-kicker):not(.tp-action-note) { max-width: 36rem; font-size: 1.1rem; line-height: 1.6; }
.software-fire2-media { margin: 0; padding: .8rem; color: var(--tp-bone-soft); background: var(--tp-aubergine-deep); transform: rotate(.8deg); box-shadow: 0 30px 70px rgba(57,40,56,.2); }
.software-fire2-media img { display: block; width: 100%; height: auto; }
.software-fire2-media figcaption { padding: .75rem .25rem 0; font-size: .7rem; letter-spacing: .1em; text-transform: uppercase; }

.software-jsfx { color: var(--tp-bone-soft); background: var(--tp-aubergine-deep); }
.software-tool-grid { display: grid; grid-template-columns: 1.2fr .9fr .9fr; gap: 1px; background: rgba(242,237,227,.25); border: 1px solid rgba(242,237,227,.25); }
.software-tool-grid article { display: flex; flex-direction: column; min-height: 390px; padding: clamp(1.6rem,3vw,3rem); background: var(--tp-aubergine-deep); }
.software-tool-grid .software-tool-featured { color: var(--tp-soot); background: var(--tp-moss-light); }
.software-tool-featured .software-tool-state { color: var(--tp-aubergine-deep); }
.software-tool-grid h3 { margin: auto 0 1.2rem; font-size: clamp(2.4rem,4vw,5rem); letter-spacing: -.05em; }
.software-tool-grid p:not(.software-tool-state) { line-height: 1.55; }
.software-tool-grid .tp-text-link { margin-top: 1.2rem; }

.software-more { background: var(--tp-bone); }
.software-more-list { border-top: 1px solid var(--tp-line); }
.software-more-list a { display: grid; grid-template-columns: 70px minmax(180px,.45fr) 1fr auto; gap: 1.5rem; align-items: center; padding: 1.5rem 0; text-decoration: none; border-bottom: 1px solid var(--tp-line); }
.software-more-list a:hover strong { color: var(--tp-aubergine-deep); }
.software-more-list span { color: var(--tp-moss); font: 700 .72rem/1 var(--font-ui); letter-spacing: .12em; }
.software-more-list strong { font: 600 clamp(1.5rem,2.7vw,2.8rem)/1 var(--font-heading); transition: color .2s ease; }
.software-more-list small { font-size: .95rem; line-height: 1.45; }
.software-more-list i { font-style: normal; font-size: 1.5rem; }

.software-final-cta { padding: clamp(6rem,11vw,12rem) max(1rem,calc((100% - 1380px)/2)); color: var(--tp-bone-soft); background: var(--tp-moss); }
.software-final-cta h2 { max-width: 13ch; margin: 0; font-size: clamp(3rem,7vw,7rem); line-height: .96; letter-spacing: -.06em; }
.software-final-cta .tp-button-primary { color: var(--tp-aubergine-deep) !important; background: var(--tp-bone-soft); border-color: var(--tp-bone-soft); }

.studio-hero { display: grid; grid-template-columns: minmax(0,1fr) minmax(380px,.8fr); gap: clamp(3rem,7vw,8rem); align-items: center; min-height: calc(100vh - 86px); padding: clamp(5rem,9vw,9rem) max(1rem,calc((100% - 1380px)/2)); color: var(--tp-bone-soft); background: var(--tp-soot); }
.studio-hero-copy h1 { max-width: 10ch; margin: 0; font-size: clamp(3.8rem,7.6vw,8.4rem); line-height: .9; letter-spacing: -.065em; }
.studio-hero-copy > p:not(.tp-kicker) { max-width: 42rem; margin: 2rem 0 0; font-size: clamp(1.08rem,1.5vw,1.4rem); line-height: 1.55; }
.studio-hero .tp-button-primary { color: var(--tp-aubergine-deep) !important; background: var(--tp-moss-light); border-color: var(--tp-moss-light); }
.studio-hero-object { position: relative; min-height: 590px; overflow: hidden; border: 1px solid rgba(242,237,227,.22); background: radial-gradient(circle at 72% 24%, rgba(107,76,104,.7), transparent 34%), linear-gradient(145deg,var(--tp-soot-soft),#10110e); }
.studio-grid { position: absolute; inset: 0; opacity: .25; background-image: linear-gradient(rgba(242,237,227,.2) 1px,transparent 1px),linear-gradient(90deg,rgba(242,237,227,.2) 1px,transparent 1px); background-size: 46px 46px; mask-image: linear-gradient(135deg,#000,transparent 85%); }
.studio-disc { position: absolute; width: 390px; aspect-ratio: 1; right: -80px; top: -55px; border: 1px solid var(--tp-moss-light); border-radius: 50%; box-shadow: inset 0 0 0 48px rgba(174,187,120,.08),inset 0 0 0 96px rgba(107,76,104,.12); }
.studio-wave { position: absolute; left: 9%; right: 9%; bottom: 26%; height: 140px; background: var(--tp-moss-light); clip-path: polygon(0 52%,5% 49%,9% 61%,13% 35%,17% 70%,21% 22%,25% 78%,29% 42%,33% 55%,37% 15%,41% 84%,45% 31%,49% 66%,53% 47%,57% 54%,61% 27%,65% 72%,69% 40%,73% 59%,77% 19%,81% 83%,85% 36%,89% 64%,93% 46%,100% 52%,100% 54%,93% 50%,89% 68%,85% 40%,81% 87%,77% 23%,73% 63%,69% 44%,65% 76%,61% 31%,57% 58%,53% 51%,49% 70%,45% 35%,41% 88%,37% 19%,33% 59%,29% 46%,25% 82%,21% 26%,17% 74%,13% 39%,9% 65%,5% 53%,0 56%); }
.studio-hero-object p { position: absolute; left: 2rem; bottom: 1.7rem; margin: 0; font-size: .68rem; font-weight: 700; letter-spacing: .13em; }

.studio-status { display: grid; grid-template-columns: repeat(3,1fr); color: var(--tp-soot); background: var(--tp-bone-soft); border-bottom: 1px solid var(--tp-line); }
.studio-status p { display: grid; gap: .5rem; margin: 0; padding: 1.5rem max(1rem,calc((100vw - 1380px)/6)); border-right: 1px solid var(--tp-line); }
.studio-status p:last-child { border-right: 0; }
.studio-status span { color: var(--tp-moss); font-size: .68rem; font-weight: 700; letter-spacing: .12em; }
.studio-status strong { font: 600 1.3rem/1.1 var(--font-heading); }
.studio-status small { line-height: 1.4; }

.studio-effects { padding: clamp(5rem,9vw,10rem) max(1rem,calc((100% - 1380px)/2)); background: var(--tp-bone); }
.studio-effect-list { border-top: 1px solid var(--tp-line); }
.studio-effect { display: grid; grid-template-columns: minmax(260px,.72fr) minmax(0,1.28fr); gap: 1.5rem clamp(2rem,7vw,8rem); padding: clamp(2rem,5vw,5rem); border-bottom: 1px solid var(--tp-line); }
.studio-effect-heading { grid-column: 1; grid-row: 1 / 4; min-width: 0; container-type: inline-size; }
.studio-effect-heading p { margin: 0; color: var(--tp-moss); font-size: .7rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.studio-effect-heading p span { display: inline-block; padding: .24rem .45rem; color: var(--tp-bone-soft); background: var(--tp-aubergine-deep); }
.studio-effect h3 { margin: 1.2rem 0 0; font-size: clamp(3rem,6vw,7rem); line-height: .9; letter-spacing: -.06em; }
.studio-effect-lead { grid-column: 2; grid-row: 1; max-width: 42rem; margin: 0; font-size: clamp(1.15rem,1.8vw,1.55rem); line-height: 1.5; }
.studio-effect-media { grid-column: 1 / -1; grid-row: 4; margin: clamp(1.5rem,3vw,3rem) 0 .5rem; overflow: hidden; color: var(--tp-bone-soft); background: #0d0e0c; border: 1px solid color-mix(in srgb,currentColor 22%,transparent); }
.studio-effect-media img { display: block; width: 100%; height: auto; max-height: 680px; object-fit: contain; background: #0d0e0c; }
.studio-effect-media figcaption { display: flex; justify-content: space-between; gap: 1rem; padding: .8rem 1rem; font-size: .68rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; border-top: 1px solid rgba(242,237,227,.18); }
.studio-effect dl { display: grid; grid-column: 2; grid-row: 2; grid-template-columns: repeat(3,1fr); margin: 1rem 0 0; border-top: 1px solid currentColor; }
.studio-effect dl div { padding: 1rem 1rem 0 0; }
.studio-effect dt { margin-bottom: .55rem; font-size: .67rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.studio-effect dd { margin: 0; line-height: 1.45; }
.studio-effect > .tp-text-link { grid-column: 2; grid-row: 3; justify-self: start; }
.studio-effect-featured { color: var(--tp-bone-soft); background: var(--tp-moss); border-bottom-color: transparent; }
.studio-effect-featured .studio-effect-heading p { color: var(--tp-bone-soft); }
.studio-effect-featured .studio-effect-heading p span { color: var(--tp-aubergine-deep); background: var(--tp-bone-soft); }
.studio-effect-development { color: var(--tp-bone-soft); background: var(--tp-soot-soft); }
.studio-effect-development h3 { font-size: clamp(3rem,17cqi,7rem); }
.studio-effect-development .studio-effect-heading { grid-row: 1 / 5; }
.studio-effect-development .studio-effect-media { grid-row: 5; }
.studio-effect-development > .tp-text-link { grid-row: 4; }
.studio-effect-development .studio-effect-heading p { color: var(--tp-moss-light); }
.studio-effect-development .studio-effect-heading p span { color: var(--tp-aubergine-deep); background: var(--tp-moss-light); }
.studio-effect-development .studio-effect-media-kanecomat { border-color: rgba(213,221,163,.36); box-shadow: 0 0 0 1px rgba(0,0,0,.18), 0 2.5rem 7rem rgba(0,0,0,.28); }
.studio-effect-warning { grid-column: 2; grid-row: 3; max-width: 48rem; margin-top: 1rem; padding: 1.1rem 1.25rem; color: var(--tp-soot); background: var(--tp-moss-light); border-left: .4rem solid var(--tp-aubergine); }
.studio-effect-warning strong { display: block; margin-bottom: .35rem; font-size: .68rem; letter-spacing: .1em; text-transform: uppercase; }
.studio-effect-warning p { margin: 0; line-height: 1.55; }

.studio-sound,.studio-mix-player { --sound-bg: var(--tp-aubergine-deep); --sound-fg: var(--tp-bone-soft); --sound-accent: var(--tp-moss-light); color: var(--sound-fg); background: var(--sound-bg); border: 1px solid color-mix(in srgb,var(--sound-fg) 22%,transparent); }
.studio-sound { display: grid; grid-column: 1 / -1; grid-row: 5; grid-template-columns: minmax(230px,.55fr) minmax(0,1.45fr); gap: clamp(2rem,5vw,5rem); margin-top: clamp(1.5rem,3vw,3rem); padding: clamp(1.5rem,3.2vw,3rem); }
.studio-effect-featured .studio-sound { --sound-bg: var(--tp-bone-soft); --sound-fg: var(--tp-soot); --sound-accent: var(--tp-aubergine); }
.studio-effect-development .studio-sound { --sound-bg: #292a25; --sound-fg: var(--tp-bone-soft); --sound-accent: var(--tp-moss-light); grid-row: 6; }
.studio-sound-intro h4 { max-width: 12ch; margin: .65rem 0 .8rem; font-size: clamp(1.8rem,3.2vw,3.2rem); line-height: .98; letter-spacing: -.045em; }
.studio-sound-intro > p:last-child { max-width: 28rem; margin: 0; line-height: 1.55; opacity: .78; }
.studio-sound-selector { display: grid; align-content: start; border-top: 1px solid color-mix(in srgb,var(--sound-fg) 28%,transparent); }
.studio-sound-row { display: grid; grid-template-columns: minmax(5rem,.3fr) minmax(0,1fr); gap: 1rem; align-items: center; min-height: 62px; padding: .7rem 0; border-bottom: 1px solid color-mix(in srgb,var(--sound-fg) 20%,transparent); }
.studio-sound-row > strong { font-size: .68rem; letter-spacing: .1em; text-transform: uppercase; }
.studio-sound-row > div { display: flex; flex-wrap: wrap; gap: .5rem; }
.studio-sound-row button { min-height: 34px; padding: .45rem .72rem; color: inherit; font: 700 .68rem/1 var(--font-body); letter-spacing: .06em; text-transform: uppercase; background: transparent; border: 1px solid color-mix(in srgb,var(--sound-fg) 38%,transparent); cursor: pointer; transition: color .16s ease,background .16s ease,border-color .16s ease,transform .16s ease; }
.studio-sound-row button:hover { border-color: var(--sound-accent); transform: translateY(-1px); }
.studio-sound-row button[aria-pressed="true"] { color: var(--tp-soot); background: var(--sound-accent); border-color: var(--sound-accent); }
.studio-sound-transport { display: grid; grid-column: 1 / -1; grid-template-columns: auto minmax(150px,.7fr) minmax(190px,1.3fr) auto; gap: 1rem 1.25rem; align-items: center; padding-top: 1.25rem; border-top: 1px solid color-mix(in srgb,var(--sound-fg) 28%,transparent); }
.studio-sound-play { display: grid; place-items: center; width: 52px; height: 52px; padding: 0; color: var(--tp-soot); font: 800 1rem/1 var(--font-body); background: var(--sound-accent); border: 0; cursor: pointer; transition: transform .18s ease,filter .18s ease; }
.studio-sound-play:hover { filter: brightness(1.06); transform: scale(1.035); }
.studio-sound-play span { transform: translateX(1px); }
.studio-sound.is-playing .studio-sound-play span,.studio-mix-player.is-playing .studio-sound-play span { transform: none; }
.studio-sound-now { display: grid; gap: .22rem; min-width: 0; }
.studio-sound-now strong { overflow: hidden; font-size: .95rem; text-overflow: ellipsis; white-space: nowrap; }
.studio-sound-now span { font-size: .67rem; letter-spacing: .07em; text-transform: uppercase; opacity: .68; }
.studio-sound-transport input[type="range"] { width: 100%; accent-color: var(--sound-accent); cursor: pointer; }
.studio-sound-time { min-width: 86px; font-variant-numeric: tabular-nums; font-size: .76rem; text-align: right; opacity: .72; }
.studio-sound button:focus-visible,.studio-mix-player button:focus-visible,.studio-sound input:focus-visible,.studio-mix-player input:focus-visible { outline: 3px solid var(--sound-accent); outline-offset: 3px; }
.studio-sound > audio,.studio-mix-player > audio { display: none; }

.studio-listening { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(3rem,8vw,10rem); padding: clamp(5rem,9vw,10rem) max(1rem,calc((100% - 1380px)/2)); color: var(--tp-bone-soft); background: var(--tp-aubergine-deep); }
.studio-listening h2 { max-width: 11ch; margin: 0; font-size: clamp(3rem,6vw,6.7rem); line-height: .96; letter-spacing: -.055em; }
.studio-listening > div:nth-child(2) { align-self: end; }
.studio-listening > div:nth-child(2) p { max-width: 38rem; margin: 0; font-size: 1.12rem; line-height: 1.7; }
.studio-mix-player { display: grid; grid-column: 1 / -1; gap: 1.25rem; padding: clamp(1.5rem,3.2vw,3rem); background: color-mix(in srgb,var(--tp-soot) 32%,var(--tp-aubergine-deep)); }
.studio-mix-player .studio-sound-row { grid-template-columns: minmax(7rem,.25fr) minmax(0,1fr); }

.studio-utility { display: grid; grid-template-columns: minmax(0,1fr) minmax(320px,.75fr); gap: clamp(3rem,8vw,9rem); align-items: center; padding: clamp(5rem,9vw,10rem) max(1rem,calc((100% - 1380px)/2)); background: var(--tp-bone-soft); }
.studio-utility h2 { max-width: 11ch; margin: 0; font-size: clamp(2.8rem,5.5vw,6rem); line-height: .98; letter-spacing: -.055em; }
.studio-utility p:not(.tp-kicker) { max-width: 36rem; line-height: 1.6; }
.studio-utility-visual { display: flex; align-items: center; justify-content: center; gap: clamp(.6rem,1.5vw,1.4rem); min-height: 420px; padding: 2rem; background: var(--tp-soot); }
.studio-utility-visual span { width: 11%; min-width: 22px; background: var(--tp-moss-light); }
.studio-utility-visual span:nth-child(1),.studio-utility-visual span:nth-child(5) { height: 18%; opacity: .45; }
.studio-utility-visual span:nth-child(2),.studio-utility-visual span:nth-child(4) { height: 46%; opacity: .72; }
.studio-utility-visual span:nth-child(3) { height: 78%; background: var(--tp-aubergine); }

.studio-final-cta { padding: clamp(6rem,11vw,12rem) max(1rem,calc((100% - 1380px)/2)); color: var(--tp-soot); background: var(--tp-moss-light); }
.studio-final-cta h2 { max-width: 14ch; margin: 0; font-size: clamp(3rem,7vw,7.3rem); line-height: .96; letter-spacing: -.06em; }

/* TrigOne Mini: tactile hardware within the editorial product system. */
.hardware-hero { display: grid; grid-template-columns: minmax(0,.9fr) minmax(440px,1.1fr); min-height: calc(100vh - 86px); color: var(--tp-bone-soft); background: var(--tp-soot); }
.hardware-hero-copy { display: grid; align-content: center; padding: clamp(4rem,8vw,9rem) clamp(2rem,7vw,8rem) clamp(4rem,8vw,8rem) max(1rem,calc((100vw - 1380px)/2)); }
.hardware-hero h1 { margin: 0; font-size: clamp(4rem,8.4vw,9rem); line-height: .82; letter-spacing: -.075em; }
.hardware-hero h1 span { display: block; color: var(--tp-moss-light); }
.hardware-hero-lead { max-width: 36rem; margin: 2rem 0 0; font-size: clamp(1.15rem,1.7vw,1.5rem); line-height: 1.5; }
.hardware-hero .tp-button-primary { color: var(--tp-aubergine-deep) !important; background: var(--tp-moss-light); border-color: var(--tp-moss-light); }
.hardware-hero-media { position: relative; min-height: 640px; margin: 0; overflow: hidden; background: #8d6f4d; }
.hardware-hero-media::after { position: absolute; inset: 0; content: ""; pointer-events: none; background: linear-gradient(90deg,rgba(29,30,26,.28),transparent 28%),linear-gradient(0deg,rgba(29,30,26,.36),transparent 34%); }
.hardware-hero-media img { width: 100%; height: 100%; object-fit: cover; }
.hardware-hero-media figcaption { position: absolute; z-index: 1; right: 1.5rem; bottom: 1.5rem; left: 1.5rem; padding-top: .8rem; color: var(--tp-bone-soft); font-size: .68rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; border-top: 1px solid rgba(242,237,227,.62); }
.hardware-facts { display: grid; grid-template-columns: repeat(3,1fr); color: var(--tp-soot); background: var(--tp-bone-soft); border-bottom: 1px solid var(--tp-line); }
.hardware-facts p { display: grid; grid-template-columns: auto 1fr; gap: .25rem 1rem; margin: 0; padding: 1.5rem max(1rem,calc((100vw - 1380px)/6)); border-right: 1px solid var(--tp-line); }
.hardware-facts p:last-child { border-right: 0; }
.hardware-facts span { grid-row: 1 / 3; color: var(--tp-moss); font-size: .68rem; font-weight: 700; letter-spacing: .12em; }
.hardware-facts strong { font: 600 1.25rem/1.1 var(--font-heading); }
.hardware-facts small { line-height: 1.45; }
.hardware-purpose { padding: clamp(6rem,10vw,11rem) max(1rem,calc((100% - 1380px)/2)); color: var(--tp-soot); background: var(--tp-bone); }
.hardware-purpose-grid { display: grid; grid-template-columns: minmax(280px,.72fr) minmax(0,1.28fr); gap: clamp(3rem,8vw,10rem); margin-top: clamp(3rem,6vw,6rem); }
.hardware-purpose-lead { margin: 0; font: 600 clamp(1.6rem,2.6vw,2.8rem)/1.18 var(--font-heading); letter-spacing: -.035em; }
.hardware-purpose dl { margin: 0; border-top: 1px solid var(--tp-line); }
.hardware-purpose dl div { display: grid; grid-template-columns: minmax(8rem,.38fr) minmax(0,1fr); gap: 2rem; padding: 1.5rem 0; border-bottom: 1px solid var(--tp-line); }
.hardware-purpose dt { font-size: .68rem; font-weight: 700; letter-spacing: .11em; text-transform: uppercase; }
.hardware-purpose dd { margin: 0; font-size: 1.08rem; line-height: 1.55; }
.hardware-material { display: grid; grid-template-columns: minmax(0,1.04fr) minmax(360px,.96fr); color: var(--tp-bone-soft); background: var(--tp-aubergine-deep); }
.hardware-material figure { min-height: 720px; margin: 0; overflow: hidden; background: #6a4835; }
.hardware-material img { width: 100%; height: 100%; object-fit: cover; }
.hardware-material > div { display: grid; align-content: center; padding: clamp(4rem,8vw,9rem) max(2rem,calc((100vw - 1380px)/2)); padding-left: clamp(2rem,7vw,8rem); }
.hardware-material h2 { max-width: 11ch; margin: .8rem 0 1.8rem; font-size: clamp(3rem,5.6vw,6rem); line-height: .94; letter-spacing: -.06em; }
.hardware-material > div > p:not(.tp-kicker) { max-width: 38rem; margin: 0; font-size: 1.15rem; line-height: 1.65; }
.hardware-material aside { max-width: 38rem; margin-top: 2.5rem; padding: 1.4rem 1.5rem; color: var(--tp-soot); background: var(--tp-moss-light); border-left: .4rem solid var(--tp-bone-soft); }
.hardware-material aside strong { display: block; margin-bottom: .45rem; font-size: .68rem; letter-spacing: .1em; text-transform: uppercase; }
.hardware-material aside p { margin: 0; line-height: 1.55; }
.hardware-build { padding: clamp(6rem,10vw,11rem) max(1rem,calc((100% - 1380px)/2)); color: var(--tp-soot); background: var(--tp-bone-soft); }
.hardware-build-gallery { display: grid; grid-template-columns: minmax(0,.86fr) minmax(0,1.14fr); gap: clamp(1rem,3vw,3rem); align-items: end; margin-top: clamp(3rem,6vw,6rem); }
.hardware-build-gallery figure { position: relative; margin: 0; overflow: hidden; background: var(--tp-soot); }
.hardware-build-pair { aspect-ratio: .9; }
.hardware-build-inside { aspect-ratio: 1.16; }
.hardware-build-gallery img { width: 100%; height: 100%; object-fit: cover; transition: transform .45s ease; }
.hardware-build-gallery figure:hover img { transform: scale(1.015); }
.hardware-build-gallery figcaption { position: absolute; right: 0; bottom: 0; left: 0; padding: 1rem 1.2rem; color: var(--tp-bone-soft); font-size: .68rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; background: linear-gradient(0deg,rgba(29,30,26,.9),rgba(29,30,26,0)); }
.hardware-start { padding: clamp(6rem,10vw,11rem) max(1rem,calc((100% - 1380px)/2)); color: var(--tp-bone-soft); background: var(--tp-moss); }
.hardware-start .tp-workflow { margin-top: clamp(3rem,6vw,6rem); border-color: rgba(242,237,227,.28); }
.hardware-start .tp-workflow li + li { border-color: rgba(242,237,227,.28); }
.hardware-start .tp-workflow span { color: var(--tp-bone-soft); }
.hardware-support { padding: clamp(6rem,10vw,11rem) max(1rem,calc((100% - 1380px)/2)); color: var(--tp-bone-soft); background: var(--tp-soot); }
.hardware-support h2 { max-width: 15ch; margin: .8rem 0 1.5rem; font-size: clamp(3rem,6vw,6.5rem); line-height: .94; letter-spacing: -.06em; }
.hardware-support > p:not(.tp-kicker) { max-width: 46rem; margin: 0; font-size: 1.15rem; line-height: 1.65; }
.hardware-support .tp-button-primary { color: var(--tp-aubergine-deep) !important; background: var(--tp-moss-light); border-color: var(--tp-moss-light); }

/* About: the connective narrative across audio, software, and hardware. */
.about-hero { display: grid; grid-template-columns: minmax(0,1.15fr) minmax(360px,.85fr); gap: clamp(3rem,8vw,10rem); min-height: calc(100vh - 86px); padding: clamp(5rem,10vw,10rem) max(1rem,calc((100% - 1380px)/2)); background: radial-gradient(circle at 78% 20%,rgba(174,187,120,.22),transparent 27%),var(--tp-bone); border-bottom: 1px solid var(--tp-line); }
.about-hero > div:first-child { align-self: center; }
.about-hero h1 { max-width: 10ch; margin: 0; font-size: clamp(4rem,8.8vw,9.6rem); line-height: .86; letter-spacing: -.075em; }
.about-hero-copy { align-self: end; }
.about-hero-copy > p { max-width: 38rem; margin: 0 0 3rem; font-size: clamp(1.15rem,1.7vw,1.55rem); line-height: 1.55; }
.about-hero-copy dl { margin: 0; border-top: 1px solid var(--tp-line); }
.about-hero-copy dl div { display: grid; grid-template-columns: minmax(7rem,.34fr) 1fr; gap: 1rem; padding: 1rem 0; border-bottom: 1px solid var(--tp-line); }
.about-hero-copy dt { color: var(--tp-moss); font-size: .68rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.about-hero-copy dd { margin: 0; }

.about-thread { padding: clamp(6rem,10vw,11rem) max(1rem,calc((100% - 1380px)/2)); color: var(--tp-bone-soft); background: var(--tp-soot); }
.about-thread-grid { display: grid; grid-template-columns: minmax(280px,.72fr) minmax(0,1.28fr); gap: clamp(3rem,8vw,10rem); margin-top: clamp(3rem,6vw,6rem); }
.about-thread-lead { margin: 0; font: 600 clamp(1.7rem,3vw,3.1rem)/1.18 var(--font-heading); letter-spacing: -.04em; }
.about-thread ol { margin: 0; padding: 0; list-style: none; border-top: 1px solid rgba(242,237,227,.28); }
.about-thread li { display: grid; grid-template-columns: 52px minmax(8rem,.36fr) minmax(0,1fr); gap: 1.2rem; padding: 1.5rem 0; border-bottom: 1px solid rgba(242,237,227,.28); }
.about-thread li span { color: var(--tp-moss-light); font-size: .7rem; font-weight: 800; }
.about-thread li strong { font: 600 1.45rem/1 var(--font-heading); }
.about-thread li p { margin: 0; line-height: 1.55; opacity: .74; }

.about-practice { padding: clamp(6rem,10vw,11rem) max(1rem,calc((100% - 1380px)/2)); color: var(--tp-soot); background: var(--tp-bone-soft); }
.about-practice-intro { display: grid; grid-template-columns: minmax(170px,.33fr) minmax(0,1fr); gap: 2rem; margin-bottom: clamp(3rem,6vw,6rem); }
.about-practice-intro h2 { max-width: 13ch; margin: 0; font-size: clamp(3rem,6vw,6.5rem); line-height: .95; letter-spacing: -.06em; }
.about-practice-list { border-top: 1px solid var(--tp-line); }
.about-practice-list a { display: grid; grid-template-columns: 65px minmax(220px,.62fr) minmax(280px,1fr) auto; gap: clamp(1.2rem,3vw,3rem); align-items: center; padding: clamp(1.6rem,3vw,2.8rem) 0; text-decoration: none; border-bottom: 1px solid var(--tp-line); }
.about-practice-list a:hover strong { color: var(--tp-aubergine-deep); }
.about-practice-list a > span { color: var(--tp-moss); font-size: .7rem; font-weight: 800; }
.about-practice-list strong { font: 600 clamp(1.7rem,3.4vw,3.6rem)/1 var(--font-heading); letter-spacing: -.045em; transition: color .2s ease; }
.about-practice-list small { max-width: 43rem; font-size: 1rem; line-height: 1.55; }
.about-practice-list i { font-style: normal; font-size: 1.7rem; transition: transform .2s ease; }
.about-practice-list a:hover i { transform: translate(.3rem,-.3rem); }

.about-maker { display: grid; grid-template-columns: minmax(360px,.9fr) minmax(0,1.1fr); min-height: 760px; color: var(--tp-bone-soft); background: var(--tp-aubergine-deep); }
.about-maker-mark { position: relative; display: grid; place-items: center; min-height: 640px; overflow: hidden; background: var(--tp-moss); }
.about-maker-mark::before,.about-maker-mark::after { position: absolute; width: 72%; aspect-ratio: 1; content: ""; border: 1px solid rgba(242,237,227,.48); border-radius: 50%; }
.about-maker-mark::after { width: 48%; transform: rotate(28deg) scaleY(.48); }
.about-maker-mark span { position: relative; z-index: 2; font: 600 clamp(6rem,15vw,13rem)/1 var(--font-heading); letter-spacing: -.08em; }
.about-maker-mark i { position: absolute; z-index: 1; width: 3px; height: 52%; background: var(--tp-moss-light); transform: rotate(32deg); }
.about-maker-mark small { position: absolute; right: 1.5rem; bottom: 1.5rem; left: 1.5rem; padding-top: .8rem; font-size: .66rem; font-weight: 800; letter-spacing: .12em; border-top: 1px solid rgba(242,237,227,.5); }
.about-maker > div:last-child { display: grid; align-content: center; padding: clamp(4rem,8vw,9rem) max(2rem,calc((100vw - 1380px)/2)); padding-left: clamp(2rem,7vw,8rem); }
.about-maker h2 { max-width: 12ch; margin: 0; font-size: clamp(3rem,5.8vw,6.4rem); line-height: .94; letter-spacing: -.06em; }
.about-maker > div:last-child > p:not(.tp-kicker) { max-width: 40rem; margin: 2rem 0; font-size: 1.12rem; line-height: 1.65; }

.about-principles { display: grid; grid-template-columns: minmax(300px,.8fr) minmax(0,1.2fr); gap: clamp(3rem,8vw,10rem); padding: clamp(6rem,10vw,11rem) max(1rem,calc((100% - 1380px)/2)); color: var(--tp-soot); background: var(--tp-bone); }
.about-principles h2 { max-width: 13ch; margin: 0; font-size: clamp(3rem,5.5vw,5.9rem); line-height: .96; letter-spacing: -.06em; }
.about-principles dl { align-self: end; margin: 0; border-top: 1px solid var(--tp-line); }
.about-principles dl div { padding: 1.6rem 0; border-bottom: 1px solid var(--tp-line); }
.about-principles dt { margin-bottom: .7rem; color: var(--tp-moss); font-size: .7rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.about-principles dd { max-width: 45rem; margin: 0; font-size: 1.08rem; line-height: 1.6; }

.about-final { padding: clamp(6rem,11vw,12rem) max(1rem,calc((100% - 1380px)/2)); color: var(--tp-bone-soft); background: var(--tp-moss); }
.about-final h2 { max-width: 14ch; margin: 0; font-size: clamp(3rem,7vw,7.5rem); line-height: .95; letter-spacing: -.06em; }
.about-final .tp-button-primary { color: var(--tp-aubergine-deep) !important; background: var(--tp-moss-light); border-color: var(--tp-moss-light); }

/* Portfolio: project-first listening with credits kept close to every excerpt. */
.work-hero { display: grid; grid-template-columns: minmax(0,1.1fr) minmax(360px,.9fr); gap: clamp(3rem,8vw,10rem); min-height: calc(100vh - 86px); padding: clamp(5rem,10vw,10rem) max(1rem,calc((100% - 1380px)/2)); background: radial-gradient(circle at 12% 80%,rgba(107,76,104,.14),transparent 30%),var(--tp-bone); border-bottom: 1px solid var(--tp-line); }
.work-hero > div:first-child { align-self: center; }
.work-hero h1 { max-width: 10ch; margin: 0; font-size: clamp(4rem,8.6vw,9.4rem); line-height: .87; letter-spacing: -.075em; }
.work-hero-copy { align-self: end; }
.work-hero-copy > p { max-width: 39rem; margin: 0 0 3rem; font-size: clamp(1.15rem,1.65vw,1.5rem); line-height: 1.58; }
.work-hero-copy nav { display: grid; border-top: 1px solid var(--tp-line); }
.work-hero-copy nav a { display: flex; justify-content: space-between; gap: 1rem; padding: .9rem 0; font-weight: 700; text-decoration: none; border-bottom: 1px solid var(--tp-line); }
.work-hero-copy nav a::after { content: "↓"; color: var(--tp-moss); }
.work-hero-copy nav a:hover { color: var(--tp-aubergine-deep); }

.work-case { display: grid; grid-template-columns: minmax(280px,.82fr) minmax(330px,1fr) minmax(340px,.92fr); gap: clamp(2.5rem,6vw,7rem); padding: clamp(6rem,10vw,11rem) max(1rem,calc((100% - 1380px)/2)); scroll-margin-top: 86px; }
.work-case-dark { --work-line: rgba(242,237,227,.26); --work-muted: rgba(242,237,227,.7); --work-accent: var(--tp-moss-light); color: var(--tp-bone-soft); background: var(--tp-soot); }
.work-case-light { --work-line: var(--tp-line); --work-muted: rgba(23,24,20,.7); --work-accent: var(--tp-moss); color: var(--tp-soot); background: var(--tp-bone-soft); }
.work-case-aubergine { --work-line: rgba(242,237,227,.28); --work-muted: rgba(242,237,227,.73); --work-accent: var(--tp-moss-light); color: var(--tp-bone-soft); background: var(--tp-aubergine-deep); }
.work-case-bone { --work-line: var(--tp-line); --work-muted: rgba(23,24,20,.68); --work-accent: var(--tp-aubergine); color: var(--tp-soot); background: var(--tp-bone); }
.work-case-heading p { display: flex; gap: 1rem; margin: 0 0 3rem; color: var(--work-accent); font-size: .68rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.work-case-heading h2 { max-width: 9ch; margin: 0; font-size: clamp(3rem,4.35vw,5.1rem); line-height: .88; letter-spacing: -.065em; }
.work-case-heading h2 i { color: var(--work-accent); font-style: normal; }
.work-case-story { align-self: start; }
.work-case-lead { margin: 0 0 3rem; font: 600 clamp(1.55rem,2.5vw,2.65rem)/1.2 var(--font-heading); letter-spacing: -.035em; }
.work-case-story dl { margin: 0 0 2.5rem; border-top: 1px solid var(--work-line); }
.work-case-story dl div { display: grid; grid-template-columns: minmax(8rem,.42fr) minmax(0,1fr); gap: 1.2rem; padding: 1.05rem 0; border-bottom: 1px solid var(--work-line); }
.work-case-story dt { color: var(--work-accent); font-size: .67rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.work-case-story dd { margin: 0; line-height: 1.45; }
.work-links { display: flex; flex-wrap: wrap; gap: 1.5rem; }
.work-case-listening { align-self: end; border-top: 1px solid var(--work-line); }
.work-audio { margin: 0; padding: 1.35rem 0 1.5rem; border-bottom: 1px solid var(--work-line); }
.work-audio figcaption { display: grid; grid-template-columns: 56px 1fr auto; gap: .8rem; align-items: baseline; margin-bottom: 1rem; }
.work-audio figcaption span,.work-audio figcaption small { color: var(--work-accent); font-size: .62rem; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; }
.work-audio figcaption strong { font-size: 1rem; }
.work-audio audio { display: block; width: 100%; height: 42px; accent-color: var(--work-accent); }

.work-tools { display: grid; grid-template-columns: minmax(310px,.78fr) minmax(0,1.22fr); gap: clamp(3rem,8vw,10rem); padding: clamp(6rem,10vw,11rem) max(1rem,calc((100% - 1380px)/2)); color: var(--tp-soot); background: var(--tp-moss-light); }
.work-tools h2 { max-width: 12ch; margin: 0; font-size: clamp(3rem,5.8vw,6.3rem); line-height: .95; letter-spacing: -.06em; }
.work-tools > div:first-child > p:last-child { max-width: 39rem; margin-top: 2rem; font-size: 1.08rem; line-height: 1.65; }
.work-tools-list { align-self: end; border-top: 1px solid rgba(23,24,20,.3); }
.work-tools-list a { display: grid; grid-template-columns: 38px minmax(9rem,.45fr) minmax(0,1fr) auto; gap: 1rem; align-items: center; padding: 1.3rem 0; text-decoration: none; border-bottom: 1px solid rgba(23,24,20,.3); }
.work-tools-list a > span { color: var(--tp-moss); font-size: .65rem; font-weight: 800; }
.work-tools-list strong { font: 600 1.55rem/1 var(--font-heading); }
.work-tools-list small { line-height: 1.45; }
.work-tools-list i { font-style: normal; font-size: 1.35rem; transition: transform .2s ease; }
.work-tools-list a:hover i { transform: translate(.25rem,-.25rem); }

.work-archive { display: grid; grid-template-columns: minmax(300px,.85fr) minmax(0,1.15fr); gap: clamp(3rem,8vw,10rem); padding: clamp(6rem,10vw,11rem) max(1rem,calc((100% - 1380px)/2)); color: var(--tp-bone-soft); background: var(--tp-soot); }
.work-archive h2 { max-width: 13ch; margin: 0; font-size: clamp(3rem,5.6vw,6.1rem); line-height: .96; letter-spacing: -.06em; }
.work-archive > div:last-child { align-self: end; }
.work-archive > div:last-child > p:first-child { max-width: 44rem; margin: 0; font-size: 1.18rem; line-height: 1.7; }
.work-context-names { margin: 3rem 0 0; padding-top: 1.2rem; color: var(--tp-moss-light); font-size: .72rem; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; border-top: 1px solid rgba(242,237,227,.28); }

.work-final { padding: clamp(6rem,11vw,12rem) max(1rem,calc((100% - 1380px)/2)); color: var(--tp-bone-soft); background: var(--tp-moss); }
.work-final h2 { max-width: 13ch; margin: 0; font-size: clamp(3rem,7vw,7.5rem); line-height: .95; letter-spacing: -.06em; }
.work-final .tp-button-primary { color: var(--tp-aubergine-deep) !important; background: var(--tp-moss-light); border-color: var(--tp-moss-light); }

/* Audio services: a restrained studio path from enquiry through handoff. */
.services-hero { display: grid; grid-template-columns: minmax(0,1.08fr) minmax(380px,.92fr); gap: clamp(3rem,8vw,10rem); min-height: calc(100vh - 86px); padding: clamp(5rem,10vw,10rem) max(1rem,calc((100% - 1380px)/2)); background: radial-gradient(circle at 82% 22%,rgba(174,187,120,.2),transparent 28%),var(--tp-bone); border-bottom: 1px solid var(--tp-line); }
.services-hero > div:first-child { align-self: center; }
.services-hero h1 { max-width: 11ch; margin: 0; font-size: clamp(4rem,8.2vw,9rem); line-height: .87; letter-spacing: -.075em; }
.services-hero-copy { align-self: end; }
.services-hero-copy > p { max-width: 40rem; margin: 0; font-size: clamp(1.15rem,1.7vw,1.52rem); line-height: 1.58; }

.services-choice { padding: clamp(6rem,10vw,11rem) max(1rem,calc((100% - 1380px)/2)); color: var(--tp-bone-soft); background: var(--tp-soot); }
.services-choice-grid { display: grid; grid-template-columns: 1fr 1fr; margin-top: clamp(3rem,6vw,6rem); border-top: 1px solid rgba(242,237,227,.28); border-bottom: 1px solid rgba(242,237,227,.28); }
.services-choice-grid article { min-height: 620px; padding: clamp(2rem,4vw,4rem); border-right: 1px solid rgba(242,237,227,.28); }
.services-choice-grid article:last-child { border-right: 0; background: rgba(91,99,56,.24); }
.services-choice-grid article > span { color: var(--tp-moss-light); font-size: .68rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.services-choice-grid h3 { max-width: 12ch; margin: 4rem 0 1.5rem; font-size: clamp(2.5rem,4.5vw,4.8rem); line-height: .96; letter-spacing: -.055em; }
.services-choice-grid p { max-width: 37rem; font-size: 1.1rem; line-height: 1.65; }
.services-choice-grid ul { margin: 2.5rem 0; padding: 0; list-style: none; border-top: 1px solid rgba(242,237,227,.22); }
.services-choice-grid li { padding: .9rem 0; border-bottom: 1px solid rgba(242,237,227,.22); }

.services-proof { display: grid; grid-template-columns: minmax(300px,.85fr) minmax(0,1.15fr); gap: clamp(3rem,8vw,10rem); padding: clamp(6rem,10vw,11rem) max(1rem,calc((100% - 1380px)/2)); color: var(--tp-soot); background: var(--tp-moss-light); }
.services-proof h2 { max-width: 13ch; margin: 0; font-size: clamp(3rem,5.8vw,6.3rem); line-height: .95; letter-spacing: -.06em; }
.services-proof > div:last-child { align-self: end; }
.services-proof > div:last-child p { max-width: 43rem; margin: 0 0 2.5rem; font-size: 1.15rem; line-height: 1.7; }
.services-proof .tp-button-primary { color: var(--tp-bone-soft) !important; background: var(--tp-aubergine-deep); border-color: var(--tp-aubergine-deep); }

.services-process { padding: clamp(6rem,10vw,11rem) max(1rem,calc((100% - 1380px)/2)); color: var(--tp-bone-soft); background: var(--tp-aubergine-deep); }
.services-process .tp-workflow { margin-top: clamp(3rem,6vw,6rem); }

.services-adjacent { display: grid; grid-template-columns: minmax(300px,.8fr) minmax(0,1.2fr); gap: clamp(3rem,8vw,10rem); padding: clamp(6rem,10vw,11rem) max(1rem,calc((100% - 1380px)/2)); color: var(--tp-soot); background: var(--tp-bone-soft); }
.services-adjacent h2 { max-width: 13ch; margin: 0; font-size: clamp(3rem,5.5vw,5.9rem); line-height: .96; letter-spacing: -.06em; }
.services-adjacent-list { align-self: end; border-top: 1px solid var(--tp-line); }
.services-adjacent-list a { display: grid; grid-template-columns: 42px minmax(9rem,.42fr) minmax(0,1fr) auto; gap: 1rem; align-items: center; padding: 1.35rem 0; text-decoration: none; border-bottom: 1px solid var(--tp-line); }
.services-adjacent-list a > span { color: var(--tp-moss); font-size: .66rem; font-weight: 800; }
.services-adjacent-list strong { font: 600 1.5rem/1 var(--font-heading); }
.services-adjacent-list small { line-height: 1.4; }
.services-adjacent-list i { font-style: normal; font-size: 1.4rem; transition: transform .2s ease; }
.services-adjacent-list a:hover i { transform: translate(.25rem,-.25rem); }

.services-final,.service-detail-final { padding: clamp(6rem,11vw,12rem) max(1rem,calc((100% - 1380px)/2)); color: var(--tp-bone-soft); background: var(--tp-moss); }
.services-final h2,.service-detail-final h2 { max-width: 14ch; margin: 0; font-size: clamp(3rem,7vw,7.5rem); line-height: .95; letter-spacing: -.06em; }
.services-final .tp-button-primary,.service-detail-final .tp-button-primary { color: var(--tp-aubergine-deep) !important; background: var(--tp-moss-light); border-color: var(--tp-moss-light); }

.service-detail-hero { display: grid; grid-template-columns: minmax(0,.88fr) minmax(440px,1.12fr); gap: clamp(3rem,8vw,9rem); align-items: center; min-height: calc(100vh - 86px); padding: clamp(5rem,9vw,9rem) max(1rem,calc((100% - 1380px)/2)); color: var(--tp-bone-soft); background: var(--tp-soot); }
.service-mastering-page .service-detail-hero { background: var(--tp-aubergine-deep); }
.service-detail-hero h1 { margin: 0; font-size: clamp(4.5rem,9vw,9.8rem); line-height: .86; letter-spacing: -.075em; }
.service-detail-hero > div:first-child > p:not(.tp-kicker) { max-width: 42rem; margin: 2rem 0 0; font-size: clamp(1.15rem,1.6vw,1.45rem); line-height: 1.58; }
.service-detail-hero .tp-button-primary { color: var(--tp-aubergine-deep) !important; background: var(--tp-moss-light); border-color: var(--tp-moss-light); }
.service-signal { position: relative; min-height: 570px; overflow: hidden; background: #10110e; border: 1px solid rgba(242,237,227,.22); }
.service-signal::before { position: absolute; inset: 12%; content: ""; background: repeating-linear-gradient(0deg,transparent 0 49px,rgba(242,237,227,.1) 50px),repeating-linear-gradient(90deg,transparent 0 49px,rgba(242,237,227,.1) 50px); }
.service-oscilloscope { position: absolute; inset: 12% 0 15%; z-index: 1; width: 100%; height: 73%; overflow: hidden; }
.service-scope-zero { stroke: rgba(242,237,227,.14); stroke-width: 1; vector-effect: non-scaling-stroke; }
.service-scope-track { transform-box: fill-box; transform-origin: left center; animation: service-scope-drift 10s linear infinite; }
.service-scope-wave,.service-scope-glow { fill: none; vector-effect: non-scaling-stroke; }
.service-scope-wave { stroke: var(--tp-moss-light); stroke-width: 2.1; }
.service-scope-glow { stroke: rgba(174,187,120,.28); stroke-width: 11; }
.service-signal-master .service-scope-wave { stroke: var(--tp-bone-soft); }
.service-signal-master .service-scope-glow { stroke: rgba(107,76,104,.55); }
.service-scope-readout { position: absolute; top: 1.2rem; right: 1.2rem; z-index: 2; color: rgba(174,187,120,.72); font: 700 .62rem/1 var(--font-ui); letter-spacing: .1em; }
.service-signal i { position: absolute; right: 1.2rem; bottom: 1.2rem; left: 1.2rem; padding-top: .8rem; color: var(--tp-moss-light); font: 700 .65rem/1 var(--font-ui); font-style: normal; letter-spacing: .11em; border-top: 1px solid rgba(242,237,227,.3); }
@keyframes service-scope-drift { to { transform: translate3d(-50%,0,0); } }

.service-facts { display: grid; grid-template-columns: repeat(3,1fr); color: var(--tp-soot); background: var(--tp-bone-soft); border-bottom: 1px solid var(--tp-line); }
.service-facts p { display: grid; grid-template-columns: auto 1fr; gap: .25rem 1rem; margin: 0; padding: 1.5rem max(1rem,calc((100vw - 1380px)/6)); border-right: 1px solid var(--tp-line); }
.service-facts p:last-child { border-right: 0; }.service-facts span { grid-row: 1 / 3; color: var(--tp-moss); font-size: .68rem; font-weight: 800; }.service-facts strong { font: 600 1.2rem/1.1 var(--font-heading); }.service-facts small { line-height: 1.4; }

.service-scope { display: grid; grid-template-columns: minmax(300px,.8fr) minmax(0,1.2fr); gap: clamp(3rem,8vw,10rem); padding: clamp(6rem,10vw,11rem) max(1rem,calc((100% - 1380px)/2)); color: var(--tp-soot); background: var(--tp-bone); }
.service-scope h2 { max-width: 13ch; margin: 0; font-size: clamp(3rem,5.6vw,6.1rem); line-height: .95; letter-spacing: -.06em; }
.service-scope dl { align-self: end; margin: 0; border-top: 1px solid var(--tp-line); }
.service-scope dl div { display: grid; grid-template-columns: minmax(8rem,.32fr) minmax(0,1fr); gap: 2rem; padding: 1.5rem 0; border-bottom: 1px solid var(--tp-line); }
.service-scope dt { color: var(--tp-moss); font-size: .68rem; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; }.service-scope dd { margin: 0; font-size: 1.07rem; line-height: 1.58; }

.service-process-detail { padding: clamp(6rem,10vw,11rem) max(1rem,calc((100% - 1380px)/2)); color: var(--tp-bone-soft); background: var(--tp-soot); }
.service-mastering-page .service-process-detail { background: var(--tp-aubergine-deep); }
.service-process-detail ol { display: grid; grid-template-columns: repeat(4,1fr); margin: clamp(3rem,6vw,6rem) 0 0; padding: 0; list-style: none; border-top: 1px solid rgba(242,237,227,.28); }
.service-process-detail li { min-height: 310px; padding: 1.4rem 1.6rem 1rem 0; border-right: 1px solid rgba(242,237,227,.2); }.service-process-detail li + li { padding-left: 1.6rem; }.service-process-detail li:last-child { border-right: 0; }
.service-process-detail li span { display: block; margin-bottom: 3rem; color: var(--tp-moss-light); font-size: .72rem; }.service-process-detail li strong { display: block; font: 600 clamp(1.35rem,2.1vw,2.2rem)/1.05 var(--font-heading); }.service-process-detail li p { color: rgba(242,237,227,.72); line-height: 1.55; }

.service-context { display: grid; grid-template-columns: minmax(300px,.82fr) minmax(0,1.18fr); gap: clamp(3rem,8vw,10rem); padding: clamp(6rem,10vw,11rem) max(1rem,calc((100% - 1380px)/2)); color: var(--tp-soot); background: var(--tp-moss-light); }
.service-context h2 { max-width: 13ch; margin: 0; font-size: clamp(3rem,5.5vw,5.9rem); line-height: .96; letter-spacing: -.06em; }.service-context > div:last-child { align-self: end; }.service-context > div:last-child p { max-width: 45rem; margin: 0 0 2rem; font-size: 1.12rem; line-height: 1.68; }

/* Contact: a calm intake surface shared by studio, software, and hardware. */
.contact-hero { display: grid; grid-template-columns: minmax(0,1.08fr) minmax(360px,.92fr); gap: clamp(3rem,8vw,10rem); min-height: min(800px,calc(100vh - 86px)); padding: clamp(5rem,10vw,10rem) max(1rem,calc((100% - 1380px)/2)); color: var(--tp-bone-soft); background: radial-gradient(circle at 80% 18%,rgba(174,187,120,.13),transparent 27%),var(--tp-aubergine-deep); }
.contact-hero > div:first-child { align-self: center; }
.contact-hero h1 { max-width: 10ch; margin: 0; font-size: clamp(4rem,8.3vw,9rem); line-height: .87; letter-spacing: -.075em; }
.contact-hero-copy { align-self: end; padding-bottom: .5rem; }
.contact-hero-copy > p { max-width: 39rem; margin: 0 0 2rem; font-size: clamp(1.15rem,1.7vw,1.52rem); line-height: 1.58; }
.contact-hero .tp-text-link { color: var(--tp-moss-light); }

.contact-workspace { display: grid; grid-template-columns: minmax(300px,.74fr) minmax(0,1.26fr); gap: clamp(3rem,8vw,10rem); padding: clamp(6rem,10vw,11rem) max(1rem,calc((100% - 1380px)/2)); color: var(--tp-soot); background: var(--tp-bone); }
.contact-notes h2,.contact-form-panel h2 { max-width: 12ch; margin: 0; font-size: clamp(3rem,5.1vw,5.5rem); line-height: .95; letter-spacing: -.06em; }
.contact-notes ol { margin: clamp(3rem,6vw,5rem) 0 0; padding: 0; list-style: none; border-top: 1px solid var(--tp-line); }
.contact-notes li { display: grid; grid-template-columns: 38px 1fr; gap: 1rem; padding: 1.35rem 0; border-bottom: 1px solid var(--tp-line); }
.contact-notes li > span { color: var(--tp-moss); font-size: .68rem; font-weight: 800; }
.contact-notes strong { font: 600 1.45rem/1.1 var(--font-heading); }
.contact-notes li p { margin: .4rem 0 0; line-height: 1.5; }
.contact-safety-note { margin: 2rem 0 0; padding-left: 1rem; font-size: .9rem; line-height: 1.55; border-left: 4px solid var(--tp-moss-light); }

.contact-form-panel { padding: clamp(2rem,4vw,4rem); background: var(--tp-bone-soft); border: 1px solid var(--tp-line); }
.contact-form-panel h2 { margin-bottom: clamp(3rem,6vw,5rem); }
.contact-form { display: grid; grid-template-columns: 1fr 1fr; gap: 1.5rem; margin: 0; max-width: none; }
.contact-field { display: flex; flex-direction: column; gap: .55rem; }
.contact-field label { font: 800 .68rem/1.2 var(--font-ui); letter-spacing: .08em; text-transform: uppercase; }
.contact-field input,.contact-field select,.contact-field textarea { width: 100%; min-height: 52px; padding: .9rem 0; color: var(--tp-soot); font: 500 1rem/1.4 var(--font-body); background: transparent; border: 0; border-bottom: 1px solid var(--tp-soot); border-radius: 0; }
.contact-field textarea { min-height: 190px; resize: vertical; }
.contact-field input:focus,.contact-field select:focus,.contact-field textarea:focus { outline: 3px solid rgba(174,187,120,.55); outline-offset: 4px; }
.contact-field-message,.contact-submit-row,.contact-status,.contact-form .cf-turnstile { grid-column: 1 / -1; }
.contact-status { margin: 0 0 2rem; padding: 1rem 1.2rem; line-height: 1.5; border-left: 5px solid var(--tp-moss); }
.contact-status-success { background: rgba(174,187,120,.25); }
.contact-status-error { background: rgba(113,64,91,.14); border-color: var(--tp-aubergine); }
.contact-submit-row { display: flex; gap: 1.5rem; align-items: center; justify-content: space-between; margin-top: 1rem; }
.contact-submit-row .tp-button-primary { color: var(--tp-bone-soft); background: var(--tp-aubergine-deep); border-color: var(--tp-aubergine-deep); }
.contact-submit-row p { margin: 0; color: rgba(20,21,17,.68); font-size: .82rem; }

/* DDPworker: a technical preflight surface for a deliberately narrow product. */
.ddp-hero { display: grid; grid-template-columns: minmax(0,.88fr) minmax(460px,1.12fr); gap: clamp(3rem,7vw,8rem); align-items: center; min-height: calc(100vh - 86px); padding: clamp(4rem,8vw,8.5rem) max(1rem,calc((100% - 1380px)/2)); background: radial-gradient(circle at 16% 15%,rgba(174,187,120,.23),transparent 30%),var(--tp-bone); border-bottom: 1px solid var(--tp-line); }
.ddp-hero-copy { min-width: 0; }
.ddp-hero h1 { margin: 0; font-size: clamp(4.3rem,8vw,8.7rem); line-height: .82; letter-spacing: -.075em; }
.ddp-hero h1 span { display: block; color: var(--tp-moss); }
.ddp-hero-lead { max-width: 39rem; margin: 2.2rem 0 0; font-size: clamp(1.15rem,1.6vw,1.48rem); line-height: 1.5; }
.ddp-package { min-width: 0; padding: clamp(1.25rem,2.6vw,2.5rem); color: var(--tp-bone-soft); background: var(--tp-soot); box-shadow: 0 35px 80px rgba(57,40,56,.2); transform: rotate(.6deg); }
.ddp-package-head { display: flex; justify-content: space-between; gap: 1rem; padding-bottom: 1rem; font-size: .68rem; letter-spacing: .1em; border-bottom: 1px solid rgba(242,237,227,.3); }
.ddp-package-head strong { color: var(--tp-moss-light); }
.ddp-package-map { position: relative; display: grid; grid-template-columns: repeat(12,1fr); grid-template-rows: repeat(4,minmax(54px,1fr)); gap: .7rem; min-height: 370px; padding: 2rem 0; }
.ddp-package-file { position: relative; z-index: 1; display: grid; grid-template-columns: auto 1fr; gap: .25rem .75rem; align-content: center; padding: .9rem 1rem; color: var(--tp-soot); background: var(--tp-bone-soft); border-left: .35rem solid var(--tp-moss-light); }
.ddp-package-file span { grid-row: 1 / 3; color: var(--tp-moss); font-size: .62rem; font-weight: 800; letter-spacing: .08em; }
.ddp-package-file strong { font: 700 clamp(.9rem,1.3vw,1.15rem)/1 var(--font-ui); letter-spacing: .035em; }
.ddp-package-file small { opacity: .68; }
.ddp-file-id { grid-column: 1 / 7; grid-row: 1; }
.ddp-file-ms { grid-column: 3 / 10; grid-row: 2; }
.ddp-file-pq { grid-column: 5 / 13; grid-row: 3; border-left-color: var(--tp-aubergine); }
.ddp-file-audio { grid-column: 2 / 11; grid-row: 4; background: var(--tp-moss-light); border-left-color: var(--tp-bone-soft); }
.ddp-package-link { position: absolute; z-index: 0; top: 12%; bottom: 12%; left: 8%; width: 68%; border: 1px solid rgba(174,187,120,.46); border-right: 0; }
.ddp-package-checks { display: grid; grid-template-columns: repeat(3,1fr); border-top: 1px solid rgba(242,237,227,.3); }
.ddp-package-checks p { display: grid; grid-template-columns: auto 1fr; gap: .18rem .65rem; margin: 0; padding: 1rem 1rem 0 0; border-right: 1px solid rgba(242,237,227,.2); }
.ddp-package-checks p + p { padding-left: 1rem; }
.ddp-package-checks p:last-child { border-right: 0; }
.ddp-package-checks p > span { grid-row: 1 / 3; color: var(--tp-moss-light); font-weight: 800; }
.ddp-package-checks strong { font-size: .7rem; letter-spacing: .08em; }
.ddp-package-checks small { opacity: .65; }

.ddp-status { display: grid; grid-template-columns: repeat(3,1fr); color: var(--tp-soot); background: var(--tp-bone-soft); border-bottom: 1px solid var(--tp-line); }
.ddp-status p { display: grid; grid-template-columns: auto 1fr; gap: .25rem 1rem; margin: 0; padding: 1.5rem max(1rem,calc((100vw - 1380px)/6)); border-right: 1px solid var(--tp-line); }
.ddp-status p:last-child { border-right: 0; }
.ddp-status span { grid-row: 1 / 3; color: var(--tp-moss); font-size: .68rem; font-weight: 700; letter-spacing: .12em; }
.ddp-status strong { font: 600 1.2rem/1.1 var(--font-heading); }
.ddp-status small { line-height: 1.45; }

.ddp-preflight { padding: clamp(6rem,10vw,11rem) max(1rem,calc((100% - 1380px)/2)); color: var(--tp-bone-soft); background: var(--tp-soot); }
.ddp-preflight .tp-workflow { margin-top: clamp(3rem,6vw,6rem); }

.ddp-metadata { display: grid; grid-template-columns: minmax(300px,.72fr) minmax(0,1.28fr); gap: clamp(3rem,8vw,10rem); padding: clamp(6rem,10vw,11rem) max(1rem,calc((100% - 1380px)/2)); color: var(--tp-soot); background: var(--tp-bone); }
.ddp-metadata-copy h2 { max-width: 11ch; margin: 0; font-size: clamp(3rem,5.8vw,6.3rem); line-height: .94; letter-spacing: -.06em; }
.ddp-metadata-copy > p:last-child { max-width: 39rem; margin-top: 2rem; font-size: 1.08rem; line-height: 1.65; }
.ddp-metadata-list { align-self: end; margin: 0; border-top: 1px solid var(--tp-line); }
.ddp-metadata-list div { display: grid; grid-template-columns: minmax(7.5rem,.3fr) minmax(0,1fr); gap: 2rem; padding: 1.6rem 0; border-bottom: 1px solid var(--tp-line); }
.ddp-metadata-list dt { color: var(--tp-moss); font-size: .72rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.ddp-metadata-list dd { margin: 0; font-size: 1.05rem; line-height: 1.55; }

.ddp-integrity { display: grid; grid-template-columns: minmax(320px,.8fr) minmax(0,1.2fr); gap: clamp(3rem,8vw,9rem); align-items: center; padding: clamp(6rem,10vw,11rem) max(1rem,calc((100% - 1380px)/2)); color: var(--tp-bone-soft); background: var(--tp-aubergine-deep); }
.ddp-integrity h2 { max-width: 12ch; margin: 0; font-size: clamp(3rem,5.6vw,6rem); line-height: .95; letter-spacing: -.06em; }
.ddp-integrity > div:first-child > p:last-child { max-width: 40rem; margin-top: 2rem; font-size: 1.08rem; line-height: 1.65; }
.ddp-report { min-width: 0; padding: clamp(1.2rem,2.7vw,2.7rem); color: var(--tp-soot); background: var(--tp-bone-soft); box-shadow: 22px 22px 0 var(--tp-moss-light); transform: rotate(-.65deg); }
.ddp-report-head,.ddp-report-foot { display: flex; justify-content: space-between; gap: 1rem; padding: 0 0 1rem; font-size: .67rem; font-weight: 800; letter-spacing: .1em; }
.ddp-report-row { display: grid; grid-template-columns: 44px minmax(105px,1fr) minmax(130px,.9fr) 62px; gap: .65rem; padding: 1rem 0; font-size: .77rem; border-top: 1px solid var(--tp-line); }
.ddp-report-label { color: var(--tp-moss); font-size: .61rem; font-weight: 800; letter-spacing: .08em; }
.ddp-report-foot { padding: 1rem 0 0; color: var(--tp-moss); border-top: 1px solid var(--tp-line); }

.ddp-boundary { padding: clamp(6rem,10vw,11rem) max(1rem,calc((100% - 1380px)/2)); color: var(--tp-soot); background: var(--tp-bone-soft); }
.ddp-boundary > div:first-child { display: grid; grid-template-columns: minmax(170px,.33fr) minmax(0,1fr); gap: 2rem; }
.ddp-boundary h2 { max-width: 16ch; margin: 0; font-size: clamp(3rem,5.7vw,6.3rem); line-height: .95; letter-spacing: -.06em; }
.ddp-boundary-grid { display: grid; grid-template-columns: 1fr 1fr; margin-top: clamp(3rem,6vw,6rem); border-top: 1px solid var(--tp-line); border-bottom: 1px solid var(--tp-line); }
.ddp-boundary-grid article { min-height: 350px; padding: clamp(1.5rem,3vw,3rem); border-right: 1px solid var(--tp-line); }
.ddp-boundary-grid article:last-child { border-right: 0; }
.ddp-boundary-grid article > span { color: var(--tp-moss); font-size: .68rem; font-weight: 800; letter-spacing: .11em; text-transform: uppercase; }
.ddp-boundary-grid h3 { max-width: 15ch; margin: 3.5rem 0 1rem; font-size: clamp(2rem,3.2vw,3.4rem); line-height: .98; letter-spacing: -.045em; }
.ddp-boundary-grid p { max-width: 35rem; line-height: 1.6; }
.ddp-boundary-grid .tp-text-link { display: inline-block; margin-top: 1.5rem; }
.ddp-boundary > aside { display: grid; grid-template-columns: minmax(150px,.3fr) minmax(0,1fr); gap: 2rem; margin-top: 2rem; padding: 1.35rem 1.5rem; color: var(--tp-bone-soft); background: var(--tp-moss); }
.ddp-boundary > aside strong { font-size: .68rem; letter-spacing: .1em; text-transform: uppercase; }
.ddp-boundary > aside p { max-width: 58rem; margin: 0; line-height: 1.55; }

.ddp-final { padding: clamp(6rem,11vw,12rem) max(1rem,calc((100% - 1380px)/2)); color: var(--tp-bone-soft); background: var(--tp-moss); }
.ddp-final h2 { max-width: 16ch; margin: 0; font-size: clamp(3rem,6.8vw,7.2rem); line-height: .95; letter-spacing: -.06em; }
.ddp-final > p:not(.tp-kicker) { max-width: 46rem; margin: 2rem 0 0; font-size: 1.15rem; line-height: 1.65; }
.ddp-final .tp-button-primary { color: var(--tp-aubergine-deep) !important; background: var(--tp-moss-light); border-color: var(--tp-moss-light); }

/* Field Notes */
.field-notes-index-page main,
.field-note-page main { background: var(--tp-bone); }

.field-notes-hero {
  display: grid;
  grid-template-columns: minmax(0,1.2fr) minmax(300px,.8fr);
  gap: clamp(3rem,8vw,10rem);
  align-items: end;
  min-height: calc(82vh - 86px);
  padding: clamp(5rem,10vw,10rem) max(1rem,calc((100% - 1380px)/2));
  color: var(--tp-bone-soft);
  background: var(--tp-soot);
}
.field-notes-hero h1 { max-width: 11ch; margin: 0; font-size: clamp(3.7rem,7.7vw,8.4rem); line-height: .92; letter-spacing: -.065em; }
.field-notes-hero-copy { align-self: end; padding-bottom: .65rem; }
.field-notes-hero-copy p { max-width: 36rem; margin: 0; font-size: clamp(1.12rem,1.6vw,1.45rem); line-height: 1.6; }
.field-notes-hero-copy span { display: block; margin-top: 2.5rem; color: var(--tp-moss-light); font-size: .72rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }

.field-notes-featured {
  display: grid;
  grid-template-columns: minmax(80px,.18fr) minmax(0,1.15fr) minmax(260px,.67fr);
  gap: clamp(2rem,5vw,6rem);
  align-items: start;
  padding: clamp(4rem,8vw,8rem) max(1rem,calc((100% - 1380px)/2));
  color: var(--tp-soot);
  background: var(--tp-moss-light);
}
.field-note-featured-index { color: var(--tp-aubergine-deep); font: 600 clamp(3rem,6vw,6rem)/.9 var(--font-heading); letter-spacing: -.06em; }
.field-note-featured-copy h2 { max-width: 16ch; margin: 0; font-size: clamp(2.8rem,5.7vw,6.2rem); line-height: .96; letter-spacing: -.055em; }
.field-note-featured-copy > p:not(.tp-kicker) { max-width: 46rem; margin: 1.5rem 0 2rem; font-size: 1.12rem; line-height: 1.65; }
.field-notes-featured dl { margin: 0; border-top: 1px solid var(--tp-line); }
.field-notes-featured dl div { display: grid; grid-template-columns: 7rem 1fr; gap: 1rem; padding: 1rem 0; border-bottom: 1px solid var(--tp-line); }
.field-notes-featured dt { font-size: .67rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.field-notes-featured dd { margin: 0; }

.field-notes-list { padding: clamp(5rem,9vw,10rem) max(1rem,calc((100% - 1380px)/2)); background: var(--tp-bone-soft); }
.field-notes-rows { border-top: 1px solid var(--tp-line); }
.field-notes-rows > a { display: grid; grid-template-columns: 60px minmax(240px,.75fr) minmax(280px,1fr) auto; gap: clamp(1.2rem,3vw,3rem); align-items: center; padding: clamp(1.6rem,3vw,2.6rem) 0; text-decoration: none; border-bottom: 1px solid var(--tp-line); }
.field-notes-rows > a:hover strong { color: var(--tp-aubergine-deep); }
.field-note-row-index { color: var(--tp-moss); font-size: .72rem; font-weight: 700; letter-spacing: .12em; }
.field-notes-rows small { display: block; margin-bottom: .55rem; color: var(--tp-moss); font-size: .7rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.field-notes-rows strong { display: block; font: 600 clamp(1.6rem,3vw,3.2rem)/1 var(--font-heading); letter-spacing: -.045em; transition: color .2s ease; }
.field-note-row-summary { max-width: 38rem; line-height: 1.55; }
.field-notes-rows > a > span:last-child { font-size: 1.6rem; }

.field-notes-scope { display: grid; grid-template-columns: minmax(0,1.1fr) minmax(320px,.9fr); gap: clamp(3rem,8vw,9rem); padding: clamp(5rem,9vw,10rem) max(1rem,calc((100% - 1380px)/2)); color: var(--tp-bone-soft); background: var(--tp-aubergine-deep); }
.field-notes-scope h2 { max-width: 16ch; margin: 0; font-size: clamp(2.7rem,5.2vw,5.8rem); line-height: .98; letter-spacing: -.055em; }
.field-notes-scope-links { border-top: 1px solid rgba(242,237,227,.28); }
.field-notes-scope-links a { display: grid; grid-template-columns: 42px 1fr; gap: .45rem 1rem; padding: 1.5rem 0; text-decoration: none; border-bottom: 1px solid rgba(242,237,227,.28); }
.field-notes-scope-links a:hover strong { color: var(--tp-moss-light); }
.field-notes-scope-links span { grid-row: 1 / 3; color: var(--tp-moss-light); font-size: .7rem; font-weight: 700; letter-spacing: .1em; }
.field-notes-scope-links strong { font: 600 clamp(1.5rem,2.8vw,2.8rem)/1 var(--font-heading); transition: color .2s ease; }
.field-notes-scope-links small { opacity: .72; }

.field-note-hero { padding: clamp(4.5rem,9vw,9rem) max(1rem,calc((100% - 1380px)/2)); color: var(--tp-bone-soft); background: var(--tp-soot); }
.field-note-moss .field-note-hero { background: var(--tp-moss); }
.field-note-aubergine .field-note-hero { background: var(--tp-aubergine-deep); }
.field-note-bone .field-note-hero { color: var(--tp-soot); background: var(--tp-moss-light); }
.field-note-breadcrumb { display: flex; flex-wrap: wrap; gap: .65rem; margin-bottom: clamp(4rem,8vw,8rem); font-size: .7rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.field-note-breadcrumb a { text-underline-offset: .3em; }
.field-note-breadcrumb span:last-child { opacity: .7; }
.field-note-hero-grid { display: grid; grid-template-columns: minmax(0,1.25fr) minmax(320px,.75fr); gap: clamp(3rem,8vw,10rem); align-items: end; }
.field-note-hero h1 { max-width: 13ch; margin: 0; font-size: clamp(3.5rem,7.2vw,7.8rem); line-height: .93; letter-spacing: -.062em; }
.field-note-intro > p { max-width: 40rem; margin: 0; font-size: clamp(1.12rem,1.6vw,1.42rem); line-height: 1.65; }
.field-note-intro dl { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; margin: 2.5rem 0 0; padding-top: 1rem; border-top: 1px solid currentColor; }
.field-note-intro dt { margin-bottom: .4rem; font-size: .65rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.field-note-intro dd { margin: 0; }

.field-note-layout { display: grid; grid-template-columns: minmax(260px,.42fr) minmax(0,1fr); gap: clamp(3rem,8vw,9rem); align-items: start; padding: clamp(5rem,9vw,10rem) max(1rem,calc((100% - 1380px)/2)); background: var(--tp-bone-soft); }
.field-note-takeaways { position: sticky; top: 118px; padding-top: .25rem; }
.field-note-takeaways h2 { max-width: 12ch; margin: 0; font-size: clamp(1.8rem,3.2vw,3.2rem); line-height: 1; letter-spacing: -.045em; }
.field-note-takeaways ol { margin: 2.5rem 0 0; padding: 0; list-style: none; border-top: 1px solid var(--tp-line); }
.field-note-takeaways li { display: grid; grid-template-columns: 34px 1fr; gap: 1rem; padding: 1.2rem 0; border-bottom: 1px solid var(--tp-line); }
.field-note-takeaways li span { color: var(--tp-moss); font-size: .68rem; font-weight: 700; letter-spacing: .1em; }
.field-note-takeaways li p { margin: 0; line-height: 1.5; }
.field-note-body { width: 100%; max-width: 850px; }
.field-note-body > section:not(.field-note-audio) { padding: 0 0 clamp(3.5rem,6vw,6rem); }
.field-note-body > section:not(:first-child):not(.field-note-audio) { padding-top: clamp(3.5rem,6vw,6rem); border-top: 1px solid var(--tp-line); }
.field-note-body > section h2 { max-width: 17ch; margin: 0 0 1.8rem; font-size: clamp(2rem,3.8vw,4rem); line-height: 1; letter-spacing: -.05em; }
.field-note-body > section > p { max-width: 44rem; margin: 0 0 1.2rem; font-size: 1.08rem; line-height: 1.75; }
.field-note-body > section > ul { display: grid; gap: .8rem; margin: 1.8rem 0 0; padding: 0; list-style: none; }
.field-note-body > section > ul li { position: relative; padding-left: 1.5rem; line-height: 1.55; }
.field-note-body > section > ul li::before { content: ""; position: absolute; left: 0; top: .62em; width: .5rem; height: .5rem; background: var(--tp-moss); }

.field-note-audio { --sound-bg: var(--tp-aubergine-deep); --sound-fg: var(--tp-bone-soft); --sound-accent: var(--tp-moss-light); display: grid; gap: 1.5rem; margin: 0 0 clamp(4rem,7vw,7rem); padding: clamp(1.5rem,4vw,3rem); color: var(--sound-fg); background: var(--sound-bg); }
.field-note-audio > div:first-child p:not(.tp-kicker) { max-width: 38rem; margin: 0; line-height: 1.6; opacity: .78; }
.field-note-audio > div:first-child h2 { margin-bottom: 1rem; }
.field-note-audio .studio-sound-row { border-top: 1px solid color-mix(in srgb,var(--sound-fg) 24%,transparent); }
.field-note-audio.is-playing .studio-sound-play span { transform: none; }
.field-note-audio button:focus-visible,
.field-note-audio input:focus-visible { outline: 3px solid var(--sound-accent); outline-offset: 3px; }
.field-note-audio > audio { display: none; }

.field-note-callout { margin: 0 0 clamp(4rem,7vw,7rem); padding: clamp(2rem,5vw,4.5rem); color: var(--tp-bone-soft); background: var(--tp-moss); }
.field-note-callout h2 { max-width: 14ch; margin: 0; font-size: clamp(2.2rem,4.6vw,4.8rem); line-height: .98; letter-spacing: -.055em; }
.field-note-callout > p:last-child { max-width: 40rem; margin: 1.5rem 0 0; font-size: 1.08rem; line-height: 1.65; }
.field-note-primary-cta { display: grid; grid-template-columns: 120px 1fr; gap: 1.5rem; align-items: baseline; padding: 1.5rem 0; border-top: 1px solid var(--tp-line); border-bottom: 1px solid var(--tp-line); }
.field-note-primary-cta p { margin: 0; color: var(--tp-moss); font-size: .68rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.field-note-primary-cta a { font: 600 clamp(1.5rem,3vw,3rem)/1 var(--font-heading); letter-spacing: -.04em; text-decoration: none; }

.field-note-related { padding: clamp(5rem,9vw,10rem) max(1rem,calc((100% - 1380px)/2)); color: var(--tp-bone-soft); background: var(--tp-soot); }
.field-note-related > div:last-child { border-top: 1px solid rgba(242,237,227,.25); }
.field-note-related > div:last-child a { display: grid; grid-template-columns: 1fr auto; gap: .65rem 1.5rem; padding: 1.5rem 0; text-decoration: none; border-bottom: 1px solid rgba(242,237,227,.25); }
.field-note-related small { color: var(--tp-moss-light); font-size: .68rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.field-note-related strong { font: 600 clamp(1.5rem,3vw,3.2rem)/1 var(--font-heading); letter-spacing: -.045em; }
.field-note-related a > span { grid-column: 2; grid-row: 1 / 3; align-self: center; font-size: 1.5rem; }

@media (max-width: 980px) {
  .field-notes-hero,.field-notes-scope,.field-note-hero-grid { grid-template-columns: 1fr; }
  .field-notes-hero { min-height: auto; }
  .field-notes-featured { grid-template-columns: 70px 1fr; }
  .field-notes-featured dl { grid-column: 2; }
  .field-notes-rows > a { grid-template-columns: 48px 1fr auto; }
  .field-note-row-summary { grid-column: 2; }
  .field-notes-rows > a > span:last-child { grid-column: 3; grid-row: 1 / 3; }
  .field-note-layout { grid-template-columns: 1fr; }
  .field-note-takeaways { position: static; }
  .field-note-takeaways h2 { max-width: 18ch; }
  .field-note-takeaways ol { display: grid; grid-template-columns: repeat(3,1fr); }
  .field-note-takeaways li { display: block; padding-right: 1rem; border-right: 1px solid var(--tp-line); }
  .field-note-takeaways li:last-child { border-right: 0; }
  .field-note-takeaways li span { display: block; margin-bottom: 1rem; }
  .field-note-body { max-width: none; }
}

@media (max-width: 1320px) {
  .design-v2 #admin-settings-top,
  .design-v2 #admin-management-top { display: none !important; }
}

@media (max-width: 680px) {
  .field-notes-hero h1,.field-note-hero h1 { font-size: clamp(3rem,14vw,4.8rem); }
  .field-notes-featured { grid-template-columns: 1fr; }
  .field-note-featured-index { font-size: 2rem; }
  .field-notes-featured dl { grid-column: auto; }
  .field-notes-rows > a { grid-template-columns: 34px 1fr auto; }
  .field-note-row-summary { display: none; }
  .field-notes-scope h2 { font-size: clamp(2.4rem,11vw,4rem); }
  .field-note-intro dl { grid-template-columns: 1fr; }
  .field-note-takeaways ol { grid-template-columns: 1fr; }
  .field-note-takeaways li { border-right: 0; }
  .field-note-audio .studio-sound-row { grid-template-columns: 1fr; }
  .field-note-audio .studio-sound-transport { grid-template-columns: auto 1fr auto; }
  .field-note-audio .studio-sound-transport input { grid-column: 1 / -1; grid-row: 2; }
  .field-note-primary-cta { grid-template-columns: 1fr; }
}

.design-v2 > footer { margin: 0; padding: 4rem max(1rem, calc((100% - 1380px) / 2)); background: var(--tp-soot) !important; border: 0 !important; box-shadow: none !important; color: var(--tp-bone); }

@media (prefers-reduced-motion: no-preference) {
  .tp-hero-copy > * { animation: tp-rise .7s both; }
  .tp-hero-copy > *:nth-child(2) { animation-delay: .08s; }
  .tp-hero-copy > *:nth-child(3) { animation-delay: .16s; }
  .tp-hero-copy > *:nth-child(4) { animation-delay: .24s; }
  .tp-core { animation: tp-float 7s ease-in-out infinite; }
  .tp-orbit-a { animation: tp-orbit-a 18s linear infinite; }
  .tp-orbit-b { animation: tp-orbit-b 24s linear infinite reverse; }
}
@keyframes tp-rise { from { opacity: 0; transform: translateY(22px); } }
@keyframes tp-float { 50% { translate: 0 -12px; } }
@keyframes tp-orbit-a { to { transform: translate(-50%,-50%) rotate(378deg) scaleY(.42); } }
@keyframes tp-orbit-b { to { transform: translate(-50%,-50%) rotate(311deg) scaleY(.34); } }

@media (max-width: 980px) {
  .design-v2 > header nav > ul:first-child li:nth-child(2),
  .design-v2 > header nav > ul:first-child li:nth-child(3),
  .design-v2 > header nav > ul:first-child li:nth-child(4) { display: none; }
  .tp-hero { grid-template-columns: 1fr; min-height: auto; }
  .tp-hero-object { min-height: 440px; }
  .tp-core { width: min(62vw,380px); }
  .tp-orbit-a { width: min(82vw,550px); }
  .tp-orbit-b { width: min(72vw,480px); }
  .tp-section-heading { grid-template-columns: 1fr; }
  .fire2-hero { grid-template-columns: 1fr; }
  .fire2-hero-media { transform: none; }
  .fire2-evidence-grid { grid-template-columns: 1fr; }
  .fire2-evidence-main { position: static; }
  .fire2-tier-grid { grid-template-columns: 1fr; }
  .fire2-tier { border-right: 0; border-bottom: 1px solid rgba(242,237,227,.2); }
  .fire2-tier:last-child { border-bottom: 0; }
  .fire2-tier h3 { min-height: 0; }
  .software-hero { grid-template-columns: 1fr; min-height: auto; }
  .software-hero-map { min-height: 510px; }
  .software-access-grid { grid-template-columns: 1fr; }
  .software-access-grid > article { min-height: 0; border-right: 0; border-bottom: 1px solid rgba(242,237,227,.2); }
  .software-access-grid > article:last-child { border-bottom: 0; }
  .software-access-grid h3 { min-height: 0; }
  .software-fire2 { grid-template-columns: 1fr; }
  .software-tool-grid { grid-template-columns: 1fr; }
  .software-tool-grid article { min-height: 330px; }
  .studio-hero { grid-template-columns: 1fr; min-height: auto; }
  .studio-hero-object { min-height: 480px; }
  .studio-effect { grid-template-columns: 1fr; }
  .studio-effect-heading,.studio-effect-development .studio-effect-heading,.studio-effect-lead,.studio-effect dl,.studio-effect > .tp-text-link,.studio-effect-development > .tp-text-link,.studio-effect-media,.studio-effect-development .studio-effect-media,.studio-effect-warning,.studio-sound,.studio-effect-development .studio-sound { grid-column: auto; grid-row: auto; }
  .studio-sound { grid-template-columns: 1fr; }
  .studio-listening { grid-template-columns: 1fr; }
  .studio-utility { grid-template-columns: 1fr; }
  .hardware-hero { grid-template-columns: 1fr; min-height: auto; }
  .hardware-hero-copy { padding-right: max(1rem,calc((100vw - 760px)/2)); padding-left: max(1rem,calc((100vw - 760px)/2)); }
  .hardware-hero-media { min-height: 620px; }
  .hardware-purpose-grid { grid-template-columns: 1fr; }
  .hardware-material { grid-template-columns: 1fr; }
  .hardware-material figure { min-height: 620px; }
  .hardware-material > div { padding: 5rem max(1rem,calc((100vw - 760px)/2)); }
  .ddp-hero { grid-template-columns: 1fr; min-height: auto; }
  .ddp-package { transform: none; }
  .ddp-metadata,.ddp-integrity { grid-template-columns: 1fr; }
  .ddp-boundary > div:first-child { grid-template-columns: 1fr; }
  .about-hero,.about-thread-grid,.about-maker,.about-principles { grid-template-columns: 1fr; }
  .about-hero { min-height: auto; }
  .about-practice-intro { grid-template-columns: 1fr; }
  .about-maker-mark { min-height: 560px; }
  .about-maker > div:last-child { padding: 5rem max(1rem,calc((100vw - 760px)/2)); }
  .work-hero,.work-case,.work-tools,.work-archive { grid-template-columns: 1fr; }
  .work-hero { min-height: auto; }
  .work-case-listening { align-self: auto; }
  .services-hero,.services-proof,.services-adjacent,.service-detail-hero,.service-scope,.service-context,.contact-hero,.contact-workspace { grid-template-columns: 1fr; }
  .services-hero { min-height: auto; }
  .contact-hero { min-height: auto; }
  .services-choice-grid { grid-template-columns: 1fr; }
  .services-choice-grid article { min-height: 0; border-right: 0; border-bottom: 1px solid rgba(242,237,227,.28); }
  .services-choice-grid article:last-child { border-bottom: 0; }
  .service-process-detail ol { grid-template-columns: 1fr 1fr; }
  .service-process-detail li:nth-child(2) { border-right: 0; }
  .service-process-detail li:nth-child(-n+2) { border-bottom: 1px solid rgba(242,237,227,.2); }
}

@media (max-width: 680px) {
  .design-v2 > header { min-height: 72px; }
  .design-v2 > header .brand-text { display: none; }
  .design-v2 > header nav > ul:first-child li { display: none; }
  .design-v2 > header nav > ul:first-child .nav-support-item { display: list-item; }
  .tp-hero h1 { font-size: clamp(3.25rem,15vw,5rem); }
  .tp-hero-object { min-height: 340px; }
  .tp-workflow { grid-template-columns: 1fr; }
  .tp-workflow li,
  .tp-workflow li + li { padding: 1.25rem 0; border-right: 0; border-bottom: 1px solid rgba(232,225,209,.18); }
  .tp-workflow span { margin-bottom: 1.2rem; }
  .tp-world-list a { grid-template-columns: 42px 1fr auto; }
  .tp-product-frame figcaption { flex-direction: column; }
  .fire2-title-lockup { grid-template-columns: 58px 1fr; gap: 1rem; }
  .fire2-title-lockup img { width: 58px; height: 58px; }
  .fire2-title-lockup h1 { font-size: clamp(2.75rem,13.2vw,4.3rem); }
  .fire2-facts { display: grid; grid-template-columns: 1fr 1fr; }
  .fire2-license-boundary { grid-template-columns: 1fr; }
  .fire2-license-boundary p + p { border-top: 1px solid rgba(242,237,227,.3); border-left: 0; }
  .fire2-detail-columns { grid-template-columns: 1fr; }
  .software-hero h1 { font-size: clamp(3.1rem,14vw,4.8rem); }
  .software-hero-map { min-height: 450px; }
  .software-hero-map article { width: 88%; min-height: 205px; padding: 1.5rem; }
  .software-hero-map article:nth-child(2) { top: 120px; }
  .software-more-list a { grid-template-columns: 42px 1fr auto; gap: .85rem; }
  .software-more-list small { grid-column: 2 / 4; }
  .studio-hero-copy h1 { font-size: clamp(3.1rem,15vw,5rem); }
  .studio-hero-object { min-height: 360px; }
  .studio-disc { width: 280px; }
  .studio-status { grid-template-columns: 1fr; }
  .studio-status p { padding: 1.25rem 1rem; border-right: 0; border-bottom: 1px solid var(--tp-line); }
  .studio-status p:last-child { border-bottom: 0; }
  .studio-effect { padding: 2rem 1rem; }
  .studio-effect dl { grid-template-columns: 1fr; }
  .studio-effect dl div { padding: .9rem 0; border-bottom: 1px solid color-mix(in srgb,currentColor 22%,transparent); }
  .studio-sound { gap: 1.5rem; padding: 1.25rem; }
  .studio-sound-row,.studio-mix-player .studio-sound-row { grid-template-columns: 1fr; gap: .55rem; align-items: start; }
  .studio-sound-transport { grid-template-columns: auto minmax(0,1fr) auto; }
  .studio-sound-transport input[type="range"] { grid-column: 1 / -1; grid-row: 2; }
  .studio-sound-time { grid-column: 3; grid-row: 1; }
  .studio-sound-now strong { white-space: normal; }
  .studio-utility-visual { min-height: 300px; }
  .hardware-hero h1 { font-size: clamp(4rem,20vw,6rem); }
  .hardware-hero-media { min-height: 420px; }
  .hardware-facts { grid-template-columns: 1fr; }
  .hardware-facts p { padding: 1.25rem 1rem; border-right: 0; border-bottom: 1px solid var(--tp-line); }
  .hardware-facts p:last-child { border-bottom: 0; }
  .hardware-purpose dl div { grid-template-columns: 1fr; gap: .55rem; }
  .hardware-material figure { min-height: 430px; }
  .hardware-build-gallery { grid-template-columns: 1fr; }
  .hardware-build-pair,.hardware-build-inside { aspect-ratio: auto; }
  .hardware-build-gallery img { height: auto; }
  .ddp-hero h1 { font-size: clamp(4rem,20vw,6rem); }
  .ddp-package-map { min-height: 310px; }
  .ddp-package-checks,.ddp-status { grid-template-columns: 1fr; }
  .ddp-package-checks p,.ddp-package-checks p + p,.ddp-status p { padding: 1rem; border-right: 0; border-bottom: 1px solid color-mix(in srgb,currentColor 20%,transparent); }
  .ddp-package-checks p:last-child,.ddp-status p:last-child { border-bottom: 0; }
  .ddp-metadata-list div { grid-template-columns: 1fr; gap: .6rem; }
  .ddp-report { overflow-x: auto; box-shadow: 10px 10px 0 var(--tp-moss-light); }
  .ddp-report-row { min-width: 490px; }
  .ddp-boundary-grid { grid-template-columns: 1fr; }
  .ddp-boundary-grid article { min-height: 0; border-right: 0; border-bottom: 1px solid var(--tp-line); }
  .ddp-boundary-grid article:last-child { border-bottom: 0; }
  .ddp-boundary > aside { grid-template-columns: 1fr; gap: .6rem; }
  .about-hero h1 { font-size: clamp(3.8rem,18vw,5.6rem); }
  .about-hero-copy dl div { grid-template-columns: 1fr; gap: .45rem; }
  .about-thread li { grid-template-columns: 36px 1fr; }
  .about-thread li p { grid-column: 2; }
  .about-practice-list a { grid-template-columns: 36px 1fr auto; gap: .8rem; }
  .about-practice-list small { grid-column: 2 / 4; }
  .about-maker-mark { min-height: 430px; }
  .work-hero h1 { font-size: clamp(3.8rem,18vw,5.6rem); }
  .work-case { gap: 3rem; }
  .work-case-heading p { margin-bottom: 1.5rem; }
  .work-case-heading h2 { max-width: 11ch; }
  .work-case-story dl div { grid-template-columns: 1fr; gap: .45rem; }
  .work-audio figcaption { grid-template-columns: 45px 1fr; }
  .work-audio figcaption small { grid-column: 2; }
  .work-tools-list a { grid-template-columns: 30px 1fr auto; }
  .work-tools-list small { grid-column: 2 / 4; }
  .services-hero h1 { font-size: clamp(3.8rem,17vw,5.5rem); }
  .services-choice-grid article { padding: 2rem 0; }
  .services-choice-grid h3 { margin-top: 2.5rem; }
  .services-adjacent-list a { grid-template-columns: 34px 1fr auto; }
  .services-adjacent-list small { grid-column: 2 / 4; }
  .service-detail-hero h1 { font-size: clamp(4.2rem,19vw,6.2rem); }
  .service-signal { min-height: 360px; }
  .service-facts { grid-template-columns: 1fr; }
  .service-facts p { padding: 1.2rem 1rem; border-right: 0; border-bottom: 1px solid var(--tp-line); }.service-facts p:last-child { border-bottom: 0; }
  .service-scope dl div { grid-template-columns: 1fr; gap: .5rem; }
  .service-process-detail ol { grid-template-columns: 1fr; }
  .service-process-detail li,.service-process-detail li + li { min-height: 0; padding: 1.4rem 0; border-right: 0; border-bottom: 1px solid rgba(242,237,227,.2); }
  .service-process-detail li:last-child { border-bottom: 0; }
  .service-process-detail li span { margin-bottom: 1.2rem; }
  .contact-hero h1 { font-size: clamp(3.8rem,17vw,5.4rem); }
  .contact-form { grid-template-columns: 1fr; }
  .contact-field-half,.contact-field-message,.contact-submit-row,.contact-status,.contact-form .cf-turnstile { grid-column: 1; }
  .contact-form-panel { padding: 2rem 1rem; }
  .contact-submit-row { align-items: flex-start; flex-direction: column; }
}
