/* Public products and work: static, readable content with native video controls. */
.product-page { background: var(--bone); color: var(--ink); }
.gp-nav { max-width: 1340px; margin: auto; padding: 28px 40px; display: flex; justify-content: space-between; align-items: center; gap: 24px; border-bottom: 1px solid var(--line); }
.gp-nav img { width: 220px; height: auto; }
.gp-nav nav { display: flex; flex-wrap: wrap; align-items: center; gap: 24px; font-size: 13px; }
.gp-nav a:hover, .gp-copy a:hover { color: var(--clay); }
.gp-language { border-left: 1px solid var(--line); padding-left: 24px; }
.gp-main { max-width: 1120px; margin: auto; padding: 0 40px 80px; }
.gp-intro { padding: 80px 0 56px; }
.gp-intro h1 { font-family: var(--font-display); font-size: clamp(45px, 6.5vw, 90px); font-weight: 400; line-height: 1.04; letter-spacing: -.025em; margin: 24px 0; text-wrap: balance; }
.gp-lead { max-width: 720px; font-size: clamp(19px, 2vw, 23px); line-height: 1.5; }
.gp-cta { display: inline-flex; align-items: center; justify-content: space-between; gap: 28px; font-size: 14px; padding: 16px 0; margin-top: 18px; border-bottom: 1px solid currentColor; }
.gp-cta span { font-size: 22px; }
.gp-film { margin: 0 0 48px; }
.gp-film video { width: 100%; aspect-ratio: 16/9; display: block; background: var(--ink); object-fit: contain; }
.gp-film figcaption { font-size: 12px; line-height: 1.6; color: var(--fg-mute); margin: 12px 0 0; }
.gp-films { display: grid; grid-template-columns: repeat(2, minmax(0,280px)); gap: 24px; }
.gp-film--portrait video { aspect-ratio: 9/16; }
.gp-copy { max-width: 760px; margin: 0 auto; }
.gp-copy h2, .gp-next h2 { font-family: var(--font-display); font-size: clamp(28px, 3.4vw, 44px); font-weight: 400; line-height: 1.15; margin: 60px 0 20px; text-wrap: balance; }
.gp-copy h3 { font-family: var(--font-display); font-size: 28px; font-weight: 400; line-height: 1.25; margin: 32px 0 14px; }
.gp-copy p, .gp-copy ol, .gp-copy ul { font-size: 18px; line-height: 1.7; margin: 0 0 22px; }
.gp-copy ol, .gp-copy ul { padding-left: 24px; }
.gp-copy li { padding-left: 5px; margin: 12px 0; }
.gp-copy a { text-decoration: underline; text-underline-offset: 4px; }
.gp-next { margin-top: 80px; border-top: 1px solid var(--line); padding-top: 32px; }
.gp-next h2 { margin-top: 16px; }
.gp-next p { font-size: 18px; }
.gp-skip { position: absolute; top: -100px; left: 20px; background: var(--bone); padding: 12px; z-index: 10; }
.gp-skip:focus { top: 12px; }
.product-page :focus-visible { outline: 2px solid var(--clay); outline-offset: 5px; }
@media (max-width:767px) {
 .gp-nav { padding: 24px 20px; align-items: flex-start; flex-direction: column; }
 .gp-nav img { width: 180px; }
 .gp-nav nav { gap: 16px; font-size: 12px; }
 .gp-language { padding-left: 16px; }
 .gp-main { padding: 0 20px 56px; }
 .gp-intro { padding: 48px 0 36px; }
 .gp-copy p, .gp-copy ol, .gp-copy ul { font-size: 17px; }
 .gp-copy h2 { margin-top: 42px; }
 .gp-films { gap: 16px; }
 .gp-next { margin-top: 56px; }
}
