.seo-product-page { font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; }
.seo-skip-link { position: fixed; top: -100px; left: 1rem; z-index: 10000; padding: .75rem 1rem; background: white; color: var(--survsync-darker); }
.seo-skip-link:focus { top: 1rem; }
.seo-product-page a:focus-visible, .seo-product-page button:focus-visible { outline: 3px solid var(--survsync-darker); outline-offset: 4px; }
.seo-product-hero { padding: 3rem 0 4rem; background: linear-gradient(135deg, var(--survsync-accent-soft), var(--survsync-teal-soft)); border-bottom: 1px solid var(--survsync-border); }
.seo-product-breadcrumb { display: flex; flex-wrap: wrap; gap: .6rem; padding: 0; margin: 0 0 2rem; list-style: none; font-size: .9rem; }
.seo-product-breadcrumb li + li::before { content: "/"; margin-right: .6rem; }
.seo-product-hero h1 { font-size: clamp(2rem, 5vw, 3.8rem); color: var(--survsync-darker); line-height: 1.12; max-width: 960px; overflow-wrap: anywhere; }
.seo-product-lead { font-size: 1.15rem; line-height: 1.7; max-width: 760px; margin: 1.5rem 0 0; }
.seo-product-content { padding-top: 3rem; padding-bottom: 3rem; }
.seo-product-section { margin-bottom: 3rem; }
.seo-product-section h2, .seo-product-cta h2 { color: var(--survsync-darker); font-size: clamp(1.4rem, 3vw, 2rem); }
.seo-product-section p { line-height: 1.7; }
.seo-product-section h3 { font-size: 1.15rem; color: var(--survsync-darker); margin: 1.75rem 0 .75rem; }
.seo-product-section ul { line-height: 1.8; padding-left: 1.25rem; }
.seo-product-screenshot { margin: 2rem 0; }
.seo-product-screenshot--compact { max-width: 600px; margin-left: 0; margin-right: auto; }
.seo-product-screenshot img { display: block; width: 100%; height: auto; border: 1px solid var(--survsync-border); border-radius: 10px; }
.seo-product-screenshot-gallery { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.5rem; margin: 2rem 0; }
.seo-product-screenshot-gallery .seo-product-screenshot { margin: 0; min-width: 0; }
.seo-product-screenshot-gallery img { aspect-ratio: 4 / 3; object-fit: contain; background: var(--survsync-light); }
@media (max-width: 767px) { .seo-product-screenshot-gallery { grid-template-columns: 1fr; } }
.seo-product-screenshot figcaption { margin-top: .75rem; color: var(--survsync-text-light); font-size: .9rem; }
.seo-screenshot-link { display: block; position: relative; cursor: zoom-in; }
.seo-screenshot-hint { position: absolute; bottom: .5rem; right: .5rem; padding: .3rem .6rem; border: 1px solid var(--survsync-lighter); border-radius: 6px; background: rgba(255,255,255,.95); color: var(--survsync-darker); font-size: .75rem; }
.seo-image-viewer { width: min(1400px, 96vw); max-width: 96vw; max-height: 92vh; padding: 0 1rem 1rem; border: 1px solid var(--survsync-lighter); border-radius: 12px; background: white; color: var(--survsync-text); overflow: auto; }
.seo-image-viewer::backdrop { background: rgba(25, 20, 45, .7); }
.seo-image-viewer-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 1rem; position: sticky; top: 0; z-index: 1; padding: .75rem 0; background: white; }
.seo-image-viewer-toolbar button { width: 40px; height: 40px; border: 1px solid var(--survsync-lighter); border-radius: 8px; background: var(--survsync-accent-soft); color: var(--survsync-darker); font-size: 1.75rem; line-height: 1; cursor: pointer; }
.seo-image-viewer-toolbar button:focus-visible { outline: 3px solid var(--survsync-darker); outline-offset: 2px; }
.seo-image-viewer figure { margin: 0; }
.seo-image-viewer img { display: block; width: 100%; height: auto; }
.seo-image-viewer figcaption { margin-top: 1rem; line-height: 1.5; }
.seo-product-media { display: grid; align-content: center; min-height: 240px; padding: 2rem; border: 2px dashed var(--survsync-lighter); border-radius: 12px; text-align: center; background: var(--survsync-accent-soft); }
.seo-product-media p { max-width: none; margin: .25rem; }
.seo-product-related { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr)); gap: 1rem; padding: 0; list-style: none; }
.seo-product-related a { display: block; padding: 1rem; border: 1px solid var(--survsync-border); border-radius: 8px; background: white; color: var(--survsync-darker); }
.seo-product-related a:hover { border-color: var(--survsync-primary); }
.seo-product-cta { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 1.5rem; padding: 2rem; border: 1px solid var(--survsync-lighter); border-radius: 12px; background: white; }
.seo-product-cta p { margin-bottom: 0; }
@media (max-width: 575px) { .seo-product-hero { padding: 2rem 0; } .seo-product-content { padding-top: 2rem; } .seo-product-cta, .seo-product-media { padding: 1.25rem; } }

/* Report-template artwork retains its original portrait proportions. */
.seo-template-gallery img { aspect-ratio: 3 / 4; object-fit: contain; padding: .75rem; background: #fff; }
.seo-template-gallery { width: 85%; }
.seo-template-artwork { width: 85%; max-width: 272px; }
.seo-template-concept { width: 85%; }
