.product-page .stitch-main { padding-top: 68px !important; }
.product-page .pd-page { background: #fff; }
.product-page .pd-section { padding-block: clamp(4.5rem, 8vw, 7.5rem); border-bottom: 1px solid #aaa; background: #fff; }
.product-page .pd-section--gray { background: #f2f2f2; }
.product-page .pd-wrap { width: 100%; max-width: 80rem; margin-inline: auto; padding-inline: 1.5rem; }
.product-page .pd-hero { padding-block: clamp(4rem, 7vw, 6.5rem); }
.product-page .pd-overview-hero-grid { display: grid; grid-template-columns: minmax(0,1.05fr) minmax(320px,.95fr); align-items: center; gap: clamp(2rem,5vw,5rem); }
.product-page .pd-overview-hero-copy { min-width: 0; }
.product-page .pd-overview-hero .pd-title-accent { color: #10b981; }
.product-page .pd-overview-hero-art { display: grid; min-width: 0; min-height: 350px; place-items: center; overflow: hidden; border: 1px solid #aaa; background: #f2f2f2; }
.product-page .pd-overview-hero-art svg { display: block; width: 100%; height: auto; }
.product-page .pd-overview-flow { animation: pd-overview-flow 4s linear infinite; }
.product-page .pd-overview-engine { transform-box: fill-box; transform-origin: center; animation: pd-overview-engine 3s ease-in-out infinite; }
.product-page .pd-overview-live { animation: pd-ai-pulse 2s ease-in-out infinite; transform-box: fill-box; transform-origin: center; }
.product-page .pd-overview-hero .pd-button--secondary { gap: .5rem; border-color: #aaa; border-radius: 4px; background: #ededed; color: #0a0a0a; font: 500 .75rem/1.4 var(--font-mono); letter-spacing: .04em; text-transform: uppercase; }
.product-page .pd-overview-hero .pd-button--secondary:hover { border-color: #aaa; background: #e8e8e8; color: #0a0a0a; }
.product-page .pd-overview-hero .pd-button--secondary span { font-size: 18px; transition: none; }
.product-page .pd-overview-hero .pd-button--secondary:hover span { transform: none; }
.product-page .pd-overview-hero .pd-actions { flex-wrap: nowrap; gap: .75rem; }
.product-page .pd-overview-hero .pd-actions .pd-button { box-sizing: border-box; width: min(50%, 14rem); min-height: 3.5rem; padding-inline: .75rem; gap: .5rem; white-space: nowrap; }
@keyframes pd-overview-flow { to { stroke-dashoffset: -56; } }
@keyframes pd-overview-engine { 0%,100% { transform: scale(1); } 50% { transform: scale(1.035); } }
.product-page .pd-hero h1.pd-hero-title { max-width: none; margin: 0 0 1.5rem; font-size: 3.25rem; line-height: 1.08; letter-spacing: 0; }
.product-page .pd-hero-text { max-width: 880px; }
.product-page .pd-hero-text h2 { margin-top: 1.25rem; font-size: 1.8rem; line-height: 1.2; letter-spacing: 0; }
.product-page .pd-hero-copy { margin-top: 1rem; color: #444; line-height: 1.75; }
.product-page .pd-hero-text .pd-actions { margin-top: 1.8rem; }
.product-page .pd-hero .pd-button:hover { background: #141414; color: #fff; border-color: #141414; }
.product-page .pd-what-we-do { max-width: 760px; }
.product-page .pd-what-we-do h2 { font-size: 2.5rem; line-height: 1.1; letter-spacing: 0; }
.product-page .pd-what-we-do h3 { margin-top: .8rem; font-size: 1.35rem; line-height: 1.3; letter-spacing: 0; }
.product-page .pd-what-we-do p { margin-top: .7rem; color: #555; line-height: 1.7; }
.product-page .pd-hero-offers { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1rem; margin-top: 1rem; }
.product-page .pd-hero-offer { display: flex; flex-direction: column; align-items: flex-start; min-height: 0; padding: clamp(1.4rem, 2.5vw, 2rem); border: 1px solid #aaa; background: #fff; }
.product-page .pd-hero-offer > span { color: #10b981; font: 500 .7rem/1.5 var(--font-mono); letter-spacing: .08em; }
.product-page .pd-hero-offer h2 { margin-top: .85rem; font-size: 1.5rem; line-height: 1.15; }
.product-page .pd-hero-offer p { margin-top: .7rem; color: #555; font-size: .9rem; line-height: 1.65; }
.product-page .pd-hero-offer .pd-button { margin-top: 14px; }
.product-page .pd-hero-offer .pd-button { box-sizing: border-box; width: min(100%, 18rem); min-height: 3.25rem; }
.product-page .pd-specialty-heading { display: grid; grid-template-columns: minmax(0,7fr) minmax(0,5fr); align-items: end; gap: 2rem; margin-bottom: 3rem; }
.product-page .pd-specialty-heading h2 { max-width: 18ch; font-size: clamp(2rem, 3.8vw, 3.25rem); line-height: 1.08; }
.product-page .pd-specialty-heading h3 { margin-top: .75rem; color: #666; font-size: 1.2rem; line-height: 1.4; }
.product-page .pd-specialty-heading > p { color: #444; font-size: .95rem; line-height: 1.75; }
.product-page .pd-specialty-list { display: grid; gap: .75rem; }
.product-page .pd-specialty-card { display: grid; grid-template-columns: minmax(0,4fr) minmax(0,5fr) minmax(180px,3fr); align-items: center; gap: 1rem; padding: 1.25rem; border: 1px solid #aaa; border-radius: 8px; background: #fff; }
.product-page .pd-specialty-name { display: flex; min-width: 0; align-items: center; gap: 1rem; }
.product-page .pd-specialty-icon-box { display: grid; width: 40px; height: 40px; flex: 0 0 40px; place-items: center; border-radius: 4px; background: #f2f2f2; color: #111; }
.product-page .pd-specialty-icon-box svg { display: block; width: 22px; height: 22px; }
.product-page .specialty-warehouse-icon { animation: pd-warehouse-shift 3s ease-in-out infinite; }
.product-page .specialty-data-icon { animation: pd-data-pulse 2.6s ease-in-out infinite; }
@keyframes pd-warehouse-shift { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-2px); } }
@keyframes pd-data-pulse { 0%,100% { transform: scale(1); } 50% { transform: scale(1.08); } }
.product-page .pd-specialty-icon-box .specialty-currency { transform: scale(.85); }
.product-page .pd-specialty-kicker { display: block; color: #10b981; font: 500 .65rem/1.4 var(--font-mono); }
.product-page .pd-specialty-name h3 { margin-top: .25rem; font-size: 1.05rem; line-height: 1.3; }
.product-page .pd-specialty-card > p { color: #444; font-size: .9rem; line-height: 1.65; }
.product-page .pd-specialty-cta { display: inline-flex; min-width: 0; min-height: 44px; align-items: center; justify-content: space-between; gap: .75rem; padding: .7rem .9rem; border-radius: 4px; background: #0a0a0a; color: #fff; font: 500 .68rem/1.4 var(--font-mono); letter-spacing: .04em; text-transform: uppercase; transition: background .2s ease; }
.product-page .pd-specialty-cta:hover { background: #141414; }
.product-page .pd-specialty-cta .material-symbols-outlined { transition: transform .18s ease; }
.product-page .pd-specialty-cta:hover .material-symbols-outlined { transform: translateX(3px); }
.product-page .pd-specialty-cta .material-symbols-outlined { flex: 0 0 auto; font-size: 16px; }
.product-page .pd-offer-link { display: inline-flex; align-items: center; gap: .65rem; margin-top: auto; padding-top: 1.25rem; color: #111; font-size: .88rem; font-weight: 600; }
.product-page .pd-offer-link span { color: #10b981; transition: transform .2s ease; }
.product-page .pd-offer-link:hover span { transform: translateX(3px); }
.product-page .pd-kicker { color: #10b981; font: 500 .75rem/1.4 var(--font-mono); letter-spacing: .12em; text-transform: uppercase; }
.product-page .pd-hero h1 { max-width: 15ch; margin-top: 1.25rem; font-size: clamp(2.65rem, 5.3vw, 4.7rem); line-height: 1.04; letter-spacing: -.035em; }
.product-page .pd-lead { margin-top: 1.5rem; color: #333; font-size: clamp(1.1rem, 1.4vw, 1.35rem); line-height: 1.65; }
.product-page .pd-hero-copy > p:not(.pd-kicker):not(.pd-lead) { max-width: 60ch; margin-top: 1rem; color: #555; line-height: 1.75; }
.product-page .pd-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 1.25rem; margin-top: 2rem; }
.product-page .pd-button { display: inline-flex; align-items: center; justify-content: center; gap: 1.5rem; min-height: 3.25rem; padding: .85rem 1.25rem; border: 1px solid #111; border-radius: 3px; background: #111; color: #fff; font-size: .9rem; font-weight: 600; transition: background .2s ease, color .2s ease; }
.product-page .pd-button:hover { background: #141414; color: #fff; border-color: #141414; }
.product-page .pd-button span { transition: transform .2s ease; }
.product-page .pd-button:hover span { transform: translateX(3px); }
.product-page .pd-text-link { color: #222; font-size: .9rem; font-weight: 600; }
.product-page .pd-text-link span { color: #10b981; margin-left: .35rem; }
.product-page .pd-section-head { max-width: 760px; margin-bottom: clamp(2rem, 4vw, 3.5rem); }
.product-page .pd-section-head h2 { max-width: 18ch; margin-top: .9rem; font-size: clamp(2rem, 3.8vw, 3.25rem); line-height: 1.08; }
.product-page .pd-section-head > p:last-child { max-width: 68ch; margin-top: 1rem; color: #555; line-height: 1.75; }
.product-page .pd-nova-subtitle { margin-top: .8rem; font-size: 1.25rem; line-height: 1.3; }
.product-page .pd-outcomes-subtitle { max-width: 40ch; margin-top: .8rem; font-size: 1.25rem; line-height: 1.35; }
.product-page .pd-industries-subtitle { margin-top: .8rem; font-size: 1.25rem; line-height: 1.35; }
.product-page .pd-outcome-examples { --pd-outcome-gap: 1rem; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: var(--pd-outcome-gap); }
.product-page .pd-outcome-supporting { margin-top: var(--pd-outcome-gap); }
.product-page .pd-outcome-example { display: flex; min-width: 0; flex-direction: column; padding: clamp(1.4rem, 2.5vw, 2rem); border: 1px solid #aaa; background: #fff; }
.product-page .pd-outcome-example > span { color: #10b981; font: 500 .68rem/1.5 var(--font-mono); letter-spacing: .06em; }
.product-page .pd-outcome-example h3 { max-width: 24ch; margin-top: .9rem; font-size: clamp(1.25rem, 2vw, 1.6rem); line-height: 1.2; }
.product-page .pd-outcome-example > p { margin-top: .75rem; color: #555; font-size: .9rem; line-height: 1.65; }
.product-page .pd-outcome-example dl { display: grid; gap: .65rem; margin-top: auto; padding-top: 1.2rem; }
.product-page .pd-outcome-example dl > div { display: grid; grid-template-columns: 5rem minmax(0,1fr); gap: .75rem; padding-top: .65rem; border-top: 1px solid #aaa; }
.product-page .pd-outcome-example dt { color: #10b981; font: 500 .67rem/1.5 var(--font-mono); text-transform: uppercase; }
.product-page .pd-outcome-example dd { color: #333; font-size: .8rem; line-height: 1.5; }
.product-page .pd-nova-carousel { border-block: 1px solid #aaa; }
.product-page .pd-nova-stage-nav { position: relative; display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); padding: 1.25rem .5rem .9rem; }
.product-page .pd-nova-stage-nav::before,.product-page .pd-nova-stage-nav::after { position: absolute; top: 41px; height: 1px; content: ""; }
.product-page .pd-nova-stage-nav::before { left: 10%; right: 10%; background: #aaa; }
.product-page .pd-nova-stage-nav::after { left: 10%; width: var(--nova-progress, 0%); background: #10b981; transition: width 360ms ease; }
.product-page .pd-nova-stage-nav button { position: relative; z-index: 1; display: flex; flex-direction: column; align-items: center; gap: .5rem; min-width: 0; border: 0; background: transparent; color: #666; cursor: pointer; }
.product-page .pd-nova-stage-nav button b { display: grid; width: 42px; aspect-ratio: 1; place-items: center; border: 1px solid #aaa; border-radius: 50%; background: #f2f2f2; color: #555; font-size: 1rem; font-weight: 500; transition: background .2s ease, color .2s ease, border-color .2s ease, transform .2s ease; }
.product-page .pd-nova-stage-nav button span { font-size: .72rem; line-height: 1.3; text-align: center; }
.product-page .pd-nova-stage-nav button:hover b { border-color: #10b981; color: #10b981; }
.product-page .pd-nova-stage-nav button.is-active b { transform: scale(1.08); border-color: #10b981; background: #10b981; color: #fff; }
.product-page .pd-nova-stage-nav button.is-complete b { border-color: #10b981; color: #087c55; }
.product-page .pd-nova-stage-nav button:focus-visible,.product-page .pd-nova-carousel-bar button:focus-visible { outline: 2px solid #10b981; outline-offset: 3px; }
.product-page .pd-nova-carousel-bar { display: flex; justify-content: space-between; align-items: center; gap: 1rem; padding: .9rem 0; border-top: 1px solid #aaa; }
.product-page .pd-nova-carousel-bar > span { color: #10b981; font: 500 .72rem/1.5 var(--font-mono); letter-spacing: .06em; }
.product-page .pd-nova-carousel-bar > div { display: flex; gap: .5rem; }
.product-page .pd-nova-carousel-bar button { display: grid; width: 40px; aspect-ratio: 1; place-items: center; border: 1px solid #aaa; border-radius: 50%; background: #fff; color: #111; font-size: 1.2rem; cursor: pointer; transition: background .2s ease, color .2s ease, border-color .2s ease; }
.product-page .pd-nova-carousel-bar button:hover { border-color: #10b981; background: #10b981; color: #fff; }
.product-page .pd-nova-viewport { overflow: hidden; padding-block: 1.25rem; perspective: 1100px; touch-action: pan-y; }
.product-page .pd-nova-list { display: grid; transform-style: preserve-3d; }
.product-page .pd-nova-card { grid-area: 1 / 1; display: grid; width: min(100%, 880px); grid-template-columns: 130px minmax(0,1fr); align-self: stretch; gap: clamp(1.25rem, 3vw, 3rem); margin-inline: auto; padding: clamp(1.5rem, 3vw, 2.5rem); border: 1px solid #aaa; background: #fff; backface-visibility: hidden; transform-style: preserve-3d; transition: transform 560ms cubic-bezier(.22,1,.36,1), opacity 560ms ease, filter 560ms ease; will-change: transform, opacity; }
.product-page .pd-nova-carousel:focus-visible { outline: 2px solid #10b981; outline-offset: 5px; }
.product-page .pd-nova-viewport { cursor: grab; }
.product-page .pd-nova-viewport.is-dragging { cursor: grabbing; }
.product-page .pd-stage { display: flex; flex-direction: column; align-items: flex-start; gap: .7rem; }
.product-page .pd-stage b { display: grid; width: 58px; aspect-ratio: 1; place-items: center; border: 1px solid #10b981; border-radius: 50%; color: #10b981; font-size: 1.8rem; font-weight: 500; }
.product-page .pd-stage small,.product-page .pd-card-label,.product-page .pd-industry > span { color: #10b981; font: 500 .7rem/1.5 var(--font-mono); letter-spacing: .08em; text-transform: uppercase; }
.product-page .pd-nova-card h3,.product-page .pd-industry h3,.product-page .pd-why-card h3 { margin-top: .55rem; font-size: clamp(1.25rem, 2vw, 1.6rem); }
.product-page .pd-nova-card > div:last-child > p:not(.pd-card-label),.product-page .pd-industry > p,.product-page .pd-why-card p { max-width: 78ch; margin-top: .8rem; color: #555; font-size: .95rem; line-height: 1.75; }
.product-page .pd-nova-card ul,.product-page .pd-industry ul { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .65rem 1.5rem; margin-top: 1.15rem; padding: 0; list-style: none; }
.product-page .pd-nova-card li,.product-page .pd-industry li { position: relative; padding-left: 1.1rem; color: #333; font-size: .88rem; line-height: 1.55; }
.product-page .pd-nova-card li::before,.product-page .pd-industry li::before { position: absolute; left: 0; color: #10b981; content: "✓"; }
.product-page .pd-output-strip { display: grid; grid-template-columns: 180px 1fr; align-items: start; gap: 1rem; margin-top: 1.5rem; padding: 1.3rem 0; border-block: 1px solid #aaa; }
.product-page .pd-output-strip b { color: #10b981; font: 500 .72rem/1.5 var(--font-mono); text-transform: uppercase; }
.product-page .pd-output-strip p { display: flex; flex-wrap: wrap; gap: .45rem .8rem; color: #333; font-size: .88rem; }
.product-page .pd-output-strip i { width: 4px; height: 4px; align-self: center; border-radius: 50%; background: #10b981; }
.product-page .pd-why-card > span { color: #10b981; font: 500 .72rem/1 var(--font-mono); }
.product-page .pd-timeline { display: grid; grid-template-columns: .8fr 1.5fr; gap: 2rem; margin-top: 3.5rem; padding: 1.75rem; border: 1px solid #aaa; background: #fff; }
.product-page .pd-timeline > div > b { color: #10b981; font: 500 .72rem/1.5 var(--font-mono); }
.product-page .pd-timeline > div > p { margin-top: .65rem; color: #555; font-size: .9rem; line-height: 1.6; }
.product-page .pd-timeline ol { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 1rem; margin: 0; padding: 0; list-style: none; }
.product-page .pd-timeline li { display: flex; flex-direction: column; gap: .4rem; border-top: 2px solid #10b981; padding-top: .7rem; }
.product-page .pd-timeline li b { font-size: .88rem; }
.product-page .pd-timeline li small { color: #666; font-size: .78rem; }
.product-page .pd-industry-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1rem; }
.product-page .pd-industry { padding: clamp(1.35rem, 2.5vw, 2rem); border: 1px solid #aaa; background: #f2f2f2; }
.product-page .pd-industry-icon { display: block; width: 44px; height: 44px; margin-bottom: 1.15rem; color: #10b981; }
.product-page .pd-industry > span { display: inline-block; margin-bottom: 1.3rem; }
.product-page .pd-industry ul { grid-template-columns: 1fr; }
.product-page .pd-stack-subtitle { max-width: 60ch; margin-top: .8rem; font-size: 1.25rem; line-height: 1.4; }
.product-page .pd-tech-illustration { position: relative; display: grid; grid-template-columns: repeat(6,minmax(0,1fr)); gap: 1rem; padding: clamp(1rem,3vw,2.25rem); overflow: hidden; border: 1px solid #aaa; background: #f2f2f2; }
.product-page .pd-tech-flow { position: absolute; top: 50%; left: 12%; right: 12%; display: flex; align-items: center; gap: .5rem; opacity: .7; }
.product-page .pd-tech-flow span { width: 8px; height: 8px; border-radius: 50%; background: #10b981; }
.product-page .pd-tech-flow span:first-child { animation: pd-tech-flow-pulse 2.4s ease-in-out infinite; }
.product-page .pd-tech-flow span:last-child { animation: pd-tech-flow-pulse 2.4s ease-in-out infinite 1.2s; }
.product-page .pd-tech-flow i { flex: 1; height: 1px; background: #10b981; }
.product-page .pd-tech-node { position: relative; z-index: 1; min-width: 0; padding: 1.2rem; border: 1px solid #aaa; background: #fff; }
.product-page .pd-tech-server,.product-page .pd-tech-database,.product-page .pd-tech-mobile { grid-column: span 2; }
.product-page .pd-tech-deploy,.product-page .pd-tech-testing { grid-column: span 3; }
.product-page .pd-tech-node-head { display: flex; align-items: center; gap: .8rem; margin-bottom: 1rem; }
.product-page .pd-tech-node-head svg { width: 38px; height: 38px; flex: 0 0 38px; stroke: #111; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
.product-page .pd-tech-kicker { color: #10b981; font: 500 .65rem/1.5 var(--font-mono); letter-spacing: .06em; }
.product-page .pd-tech-node h3 { margin-top: .2rem; font-size: 1rem; line-height: 1.3; }
.product-page .pd-tech-group + .pd-tech-group { margin-top: .8rem; padding-top: .8rem; border-top: 1px solid #ddd; }
.product-page .pd-tech-group b { color: #666; font: 500 .62rem/1.5 var(--font-mono); text-transform: uppercase; }
.product-page .pd-tech-node p { color: #444; font-size: .78rem; line-height: 1.8; }
.product-page .pd-tech-node p i { display: inline-block; width: 4px; height: 4px; margin: 0 .28rem .12rem; border-radius: 50%; background: #10b981; }
@keyframes pd-tech-flow-pulse { 0%,100% { box-shadow: 0 0 0 0 rgb(16 185 129 / 0%); } 50% { box-shadow: 0 0 0 5px rgb(16 185 129 / 18%); } }
.product-page .pd-stack-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); border: 1px solid #aaa; }
.product-page .pd-stack-row { display: grid; grid-template-columns: 150px 1fr; gap: 1rem; padding: 1.4rem; border-bottom: 1px solid #aaa; }
.product-page .pd-stack-row:nth-child(odd) { border-right: 1px solid #aaa; }
.product-page .pd-stack-row:nth-last-child(-n+2) { border-bottom: 0; }
.product-page .pd-stack-row b { color: #10b981; font: 500 .72rem/1.6 var(--font-mono); text-transform: uppercase; }
.product-page .pd-stack-row span { color: #444; font-size: .9rem; line-height: 1.6; }
.product-page .pd-why-subtitle { max-width: 48ch; margin-top: .8rem; font-size: 1.25rem; line-height: 1.4; }
.product-page .pd-why-carousel { overflow: visible; border: 0; background: transparent; }
.product-page .pd-why-carousel-top { display: flex; justify-content: space-between; align-items: center; gap: 1rem; padding: 0 0 1rem; }
.product-page .pd-why-carousel-top > span { color: #10b981; font: 500 .72rem/1.5 var(--font-mono); }
.product-page .pd-why-controls { display: flex; gap: .5rem; }
.product-page .pd-why-controls button { display: grid; width: 40px; aspect-ratio: 1; place-items: center; border: 1px solid #aaa; border-radius: 50%; background: #fff; color: #111; cursor: pointer; transition: background .2s ease,color .2s ease,border-color .2s ease; }
.product-page .pd-why-controls button:hover { border-color: #10b981; background: #10b981; color: #fff; }
.product-page .pd-why-controls button:focus-visible,.product-page .pd-why-dots button:focus-visible { outline: 2px solid #10b981; outline-offset: 3px; }
.product-page .pd-why-slides { position: relative; min-height: 280px; overflow: hidden; padding: 1.5rem 0; perspective: 1000px; }
.product-page .pd-why-card { position: absolute; top: 1.5rem; left: 50%; display: grid; width: min(68%,760px); min-height: 232px; grid-template-columns: 110px minmax(0,1fr); align-content: center; align-items: center; gap: clamp(1.25rem,4vw,3rem); padding: clamp(1.5rem,4vw,3rem); border: 1px solid #aaa; border-radius: 12px; background: #fff; opacity: 0; transform: translateX(calc(-50% + var(--why-shift,0%))) rotateY(var(--why-rotation,0deg)) scale(var(--why-scale,1)); transform-style: preserve-3d; backface-visibility: hidden; transition: transform 620ms cubic-bezier(.2,.75,.25,1), opacity 620ms ease; }
.product-page .pd-why-card[aria-hidden="true"] { pointer-events: none; }
.product-page .pd-why-number { color: #10b981; font: 400 clamp(3.5rem,8vw,6rem)/1 var(--font-mono); }
.product-page .pd-why-card h3 { max-width: 30ch; font-size: clamp(1.4rem,2.5vw,2rem); line-height: 1.2; }
.product-page .pd-why-card p { max-width: 65ch; margin-top: .8rem; color: #555; font-size: 1rem; line-height: 1.75; }
.product-page .pd-why-carousel-bottom { display: flex; align-items: center; justify-content: center; gap: 1rem; padding: 1rem 0 0; }
.product-page .pd-why-dots { display: flex; align-items: center; gap: .55rem; }
.product-page .pd-why-dots button { width: 8px; height: 8px; padding: 0; border: 0; border-radius: 50%; background: #aaa; cursor: pointer; transition: background .2s ease,transform .2s ease; }
.product-page .pd-why-dots button.is-active { transform: scale(1.3); background: #10b981; }
.product-page .pd-cta-section { padding-block: clamp(4rem, 7vw, 6.5rem); border-bottom: 1px solid #aaa; background: #111; color: #fff; }
.product-page .pd-cta-kicker { color: #10b981; font: 500 .72rem/1.5 var(--font-mono); }
.product-page .pd-cta { display: grid; grid-template-columns: 1.3fr .7fr; align-items: center; gap: 3rem; }
.product-page .pd-cta h2 { max-width: 18ch; margin-top: .85rem; color: #fff; font-size: clamp(2rem, 4vw, 3.4rem); line-height: 1.08; }
.product-page .pd-cta > div:first-child > p:last-child { max-width: 65ch; margin-top: 1rem; color: #ccc; line-height: 1.7; }
.product-page .pd-ai-cta-copy > p { max-width: 65ch; margin-top: 1.4rem; color: #e5e5e5; line-height: 1.75; }
.product-page .pd-cta > .pd-ai-cta-copy > p:last-child { margin-top: 1.5rem; color: #fff; font-weight: 600; }
.product-page .pd-cta-actions { display: flex; flex-direction: column; align-items: flex-start; gap: 1rem; }
.product-page .pd-button--light { background: #fff; color: #111; border-color: #fff; border-radius: 4px; font-size: .78rem; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; box-shadow: 0 4px 14px rgb(0 0 0 / 18%); }
.product-page .pd-button--light:hover { background: #e8e8e8; color: #111; border-color: #e8e8e8; }
.product-page .pd-cta-actions > a:not(.pd-button) { color: #10b981; font-size: .9rem; }
.product-page .pd-cta-actions > a:not(.pd-button):hover { color: #fff; }
.product-page .pd-faq-wrap { max-width: 56rem; }
.product-page .pd-faq-wrap .pd-section-head { max-width: 76ch; margin: 0; }
.product-page .pd-faq-list { display: grid; gap: 1rem; margin-top: clamp(2rem,4vw,3rem); }
.product-page .pd-faq-item { max-width: 76ch; overflow: hidden; padding: 0; border: 0; border-radius: 12px; background: #f2f2f2; }
.product-page .pd-faq-item summary { display: grid; grid-template-columns: minmax(0,1fr) 1.5rem; align-items: center; gap: 1rem; padding: 1.25rem 1.5rem; font-size: 1.08rem; font-weight: 600; line-height: 1.45; cursor: pointer; list-style: none; transition: background .2s ease; }
.product-page .pd-faq-item summary:hover { background: #e8e8e8; }
.product-page .pd-faq-item summary::-webkit-details-marker { display: none; }
.product-page .pd-faq-item summary:focus-visible { outline: 2px solid #111; outline-offset: 6px; }
.product-page .pd-faq-toggle { position: relative; width: 1.5rem; height: 1.5rem; }
.product-page .pd-faq-toggle::before,.product-page .pd-faq-toggle::after { position: absolute; top: 50%; left: 50%; width: 1rem; border-top: 1px solid currentColor; content: ""; transform: translate(-50%,-50%); transition: transform .2s ease; }
.product-page .pd-faq-toggle::after { transform: translate(-50%,-50%) rotate(90deg); }
.product-page .pd-faq-item[open] .pd-faq-toggle::after { transform: translate(-50%,-50%) rotate(0); }
.product-page .pd-faq-answer { padding: 0 1.5rem 1.5rem; }
.product-page .pd-faq-answer p { color: #555; font-size: .94rem; line-height: 1.8; }
.product-page .pd-reveal { opacity: 1; transform: none; transition: opacity 780ms cubic-bezier(.2,.75,.25,1), transform 780ms cubic-bezier(.2,.75,.25,1); }
.product-page.pd-motion-ready .pd-reveal:not(.in) { opacity: 0; transform: translateY(32px); }
.product-page.pd-motion-ready .pd-reveal.pd-enter-left:not(.in) { transform: translateX(-40px); }
.product-page.pd-motion-ready .pd-reveal.pd-enter-right:not(.in) { transform: translateX(40px); }
.product-page.pd-motion-ready .pd-reveal.pd-enter-up:not(.in) { transform: translateY(36px); }
.product-page .pd-reveal.in { opacity: 1; transform: none; }
.product-page .pd-ai-hero-grid { display: grid; grid-template-columns: minmax(0,1.1fr) minmax(320px,.9fr); align-items: center; gap: clamp(2rem,5vw,5rem); }
.product-page .pd-ai-hero-copy { max-width: 780px; }
.product-page .pd-ai-hero-copy .pd-actions { flex-wrap: nowrap; align-items: stretch; gap: .75rem; }
.product-page .pd-ai-hero-copy .pd-actions .pd-button { box-sizing: border-box; flex: 1 1 0; min-width: 0; min-height: 3.5rem; padding-inline: .6rem; gap: .5rem; text-align: center; }
.product-page .pd-ai-hero-copy .pd-title-accent { color: #10b981; }
.product-page .pd-ai-hero-copy h1 { margin-bottom: 1.25rem; font-size: clamp(2.6rem,5vw,4.5rem); }
.product-page .pd-ai-hero-copy h2 { font-size: clamp(1.35rem,2vw,1.8rem); line-height: 1.3; }
.product-page .pd-ai-hero-copy .pd-button--secondary { gap: .5rem; border-color: #aaa; border-radius: 4px; background: #ededed; color: #0a0a0a; font: 500 .75rem/1.4 var(--font-mono); letter-spacing: .04em; text-transform: uppercase; }
.product-page .pd-ai-hero-copy .pd-button--secondary:hover { border-color: #aaa; background: #ededed; color: #0a0a0a; }
.product-page .pd-ai-hero-copy .pd-button--secondary span { font-size: 18px; transition: none; }
.product-page .pd-ai-hero-copy .pd-button--secondary:hover span { transform: none; }
.product-page .pd-ai-hero-art { position: relative; display: grid; min-height: 350px; place-items: center; border: 1px solid #aaa; background: #f2f2f2; }
.product-page .pd-ai-hero-art svg { width: min(100%,520px); height: auto; overflow: visible; }
.product-page .pd-ai-hero-art .pd-ai-orbit { fill: none; stroke: #aaa; stroke-dasharray: 3 8; stroke-width: 1.5; }
.product-page .pd-ai-hero-art .pd-ai-link { fill: none; stroke: #10b981; stroke-width: 2; stroke-dasharray: 6 5; animation: pd-ai-flow 5s linear infinite; }
.product-page .pd-ai-node { fill: #fff; stroke: #111; stroke-width: 1.5; }
.product-page .pd-ai-core { fill: #111; }
.product-page .pd-ai-core-ring { fill: none; stroke: #10b981; stroke-width: 2; }
.product-page .pd-ai-brain { fill: none; stroke: #fff; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.6; }
.product-page .pd-ai-pulse { fill: none; stroke: #10b981; stroke-width: 1; stroke-dasharray: 2 8; transform-origin: center; animation: pd-ai-pulse 4s ease-in-out infinite; }
.product-page .pd-ai-hero-art text { fill: #111; font: 600 11px var(--font-mono); letter-spacing: 1px; text-anchor: middle; }
.product-page .pd-ai-art-caption { position: absolute; right: 1rem; bottom: 1rem; color: #555; font: 500 .62rem/1.4 var(--font-mono); letter-spacing: .07em; }
@keyframes pd-ai-flow { to { stroke-dashoffset: -44; } }
@keyframes pd-ai-pulse { 0%,100% { opacity: .45; transform: scale(.96); } 50% { opacity: 1; transform: scale(1.04); } }
.product-page .pd-ai-subtitle { margin-top: .8rem; font-size: 1.25rem; line-height: 1.4; }
.product-page .pd-ai-service-intro .pd-service-card > .pd-button { box-sizing: border-box; width: 15rem; max-width: 100%; margin-top: 1.25rem; padding-top: .85rem; justify-content: center; gap: .6rem; text-align: center; }
.product-page .pd-service-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1rem; }
.product-page .pd-service-grid--three { grid-template-columns: repeat(3,minmax(0,1fr)); }
.product-page .pd-service-card { display: flex; min-width: 0; flex-direction: column; align-items: flex-start; padding: clamp(1.35rem,2.5vw,2rem); border: 1px solid #aaa; background: #f2f2f2; }
.product-page .pd-section--gray .pd-service-card { background: #fff; }
.product-page .pd-service-index,.product-page .pd-feature-card > span,.product-page .pd-process-card > span,.product-page .pd-benefit-card > span { color: #10b981; font: 500 .7rem/1.5 var(--font-mono); letter-spacing: .07em; }
.product-page .pd-service-icon { display: grid; width: 44px; height: 44px; margin-block: 1rem; place-items: center; color: #10b981; }
.product-page .pd-service-icon svg { width: 38px; height: 38px; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
.product-page .pd-service-card h3,.product-page .pd-feature-card h3,.product-page .pd-process-card h3,.product-page .pd-benefit-card h3 { margin-top: .55rem; font-size: 1.18rem; line-height: 1.3; }
.product-page .pd-service-card > p,.product-page .pd-feature-card p,.product-page .pd-process-card p,.product-page .pd-benefit-card p { margin-top: .65rem; color: #555; font-size: .9rem; line-height: 1.7; }
.product-page .pd-service-card > .pd-button { margin-top: auto; padding-top: 1.4rem; }
.product-page .pd-service-card ul { display: grid; width: 100%; gap: .4rem; margin: .8rem 0 0; padding: 0; list-style: none; }
.product-page .pd-service-card li { position: relative; padding-left: 1rem; color: #444; font-size: .86rem; line-height: 1.5; }
.product-page .pd-service-card li::before { position: absolute; left: 0; color: #10b981; content: "✓"; }
.product-page .pd-feature-grid { display: grid; grid-template-columns: repeat(6,minmax(0,1fr)); gap: 1rem; }
.product-page .pd-feature-card { grid-column: span 2; min-height: 210px; padding: 1.5rem; border: 1px solid #aaa; background: #f2f2f2; }
.product-page .pd-ai-native-grid .pd-feature-card { background: #fff; }
.product-page .pd-source-heading { margin-bottom: .75rem; color: #10b981; font: 500 .78rem/1.5 var(--font-mono); }
.product-page .pd-feature-card:nth-child(4) { grid-column: 2 / span 2; }
.product-page .pd-feature-card:nth-child(5) { grid-column: 4 / span 2; }
.product-page .pd-ai-native-grid .pd-feature-card { grid-column: auto; }
.product-page .pd-ai-native-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
.product-page .pd-ai-service-feature-grid .pd-feature-card:nth-child(4),.product-page .pd-ai-service-feature-grid .pd-feature-card:nth-child(5) { grid-column: span 2; }
.product-page .pd-process-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 1rem; margin: 0; padding: 0; list-style: none; }
.product-page .pd-process-card { min-height: 220px; padding: 1.35rem; border: 1px solid #aaa; background: #fff; }
.product-page .pd-benefit-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1rem; }
.product-page .pd-benefit-card { min-height: 220px; padding: 1.4rem; border: 1px solid #aaa; background: #fff; }
.product-page .pd-ecosystem { position: relative; overflow: hidden; padding: clamp(1.5rem,4vw,3rem); border: 1px solid #aaa; background: #f2f2f2; }
.product-page .pd-ecosystem::before { position: absolute; inset: 0; background-image: linear-gradient(#aaa 1px,transparent 1px),linear-gradient(90deg,#aaa 1px,transparent 1px); background-size: 42px 42px; content: ""; opacity: .14; }
.product-page .pd-ecosystem-core { position: relative; z-index: 1; display: flex; width: min(100%,300px); min-height: 112px; flex-direction: column; align-items: center; justify-content: center; gap: .3rem; margin: 0 auto 1.25rem; border: 1px solid #111; background: #fff; }
.product-page .pd-ecosystem-core svg { width: 40px; height: 40px; fill: none; stroke: #10b981; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.6; }
.product-page .pd-ecosystem-core strong { font-size: .85rem; }
.product-page .pd-ecosystem-core span { color: #666; font: 500 .6rem/1.4 var(--font-mono); letter-spacing: .08em; }
.product-page .pd-ecosystem-list { position: relative; z-index: 1; display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: .65rem; margin: 0; padding: 0; list-style: none; }
.product-page .pd-ai-tech-stack { grid-template-columns: repeat(5,minmax(0,1fr)); grid-auto-rows: 1fr; }
.product-page .pd-ecosystem-list li { display: flex; min-height: 64px; align-items: center; padding: .8rem; border: 1px solid #aaa; background: #fff; color: #333; font-size: .82rem; line-height: 1.4; }
.product-page .pd-ecosystem-list li::before { width: 7px; height: 7px; flex: 0 0 7px; margin-right: .6rem; border-radius: 50%; background: #10b981; content: ""; }
.product-page .pd-security-layout { display: grid; grid-template-columns: .8fr 1.2fr; gap: .6rem 3rem; align-items: start; }
.product-page .pd-security-layout .pd-section-head { margin: 0; }
.product-page .pd-security-list { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .65rem; margin: 0; padding: 0; list-style: none; }
.product-page .pd-security-list li { padding: .85rem 1rem; border: 1px solid #aaa; background: #f2f2f2; color: #333; font-size: .88rem; }
.product-page .pd-security-list li::before { margin-right: .6rem; color: #10b981; content: "✓"; }
.product-page .pd-security-callout { grid-column: 2; padding: 1.5rem; border: 1px solid #aaa; background: #f2f2f2; }
.product-page .pd-security-callout h3 { margin-top: .6rem; font-size: 1.4rem; line-height: 1.3; }
.product-page .pd-security-callout p { margin-top: .6rem; color: #555; line-height: 1.65; }
.product-page .pd-cta-prompt { margin-top: 1rem; color: #fff !important; font-weight: 600; }
.product-page .pd-service-content .pd-reveal:nth-child(2) { transition-delay: 70ms; }
@media (max-width: 900px) {
  .product-page .pd-ai-hero-grid { grid-template-columns: 1fr; }
  .product-page .pd-overview-hero-grid { grid-template-columns: 1fr; }
  .product-page .pd-overview-hero-art { min-height: 300px; }
  .product-page .pd-ai-hero-art { min-height: 300px; }
  .product-page .pd-service-grid--three { grid-template-columns: 1fr; }
  .product-page .pd-process-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .product-page .pd-benefit-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .product-page .pd-ecosystem-list { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .product-page .pd-ai-tech-stack { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .product-page .pd-security-layout { grid-template-columns: 1fr; }
  .product-page .pd-security-callout { grid-column: 1; }
}
@media (max-width: 620px) {
  .product-page .pd-service-grid,.product-page .pd-feature-grid,.product-page .pd-process-grid,.product-page .pd-benefit-grid { grid-template-columns: 1fr; }
  .product-page .pd-ai-native-grid { grid-template-columns: 1fr; }
  .product-page .pd-feature-card,.product-page .pd-feature-card:nth-child(4),.product-page .pd-feature-card:nth-child(5) { grid-column: auto; min-height: 0; }
  .product-page .pd-ai-service-feature-grid .pd-feature-card:nth-child(4),.product-page .pd-ai-service-feature-grid .pd-feature-card:nth-child(5) { grid-column: auto; }
  .product-page .pd-ecosystem-list,.product-page .pd-security-list { grid-template-columns: 1fr; }
  .product-page .pd-ai-tech-stack { grid-template-columns: 1fr; }
  .product-page .pd-ai-hero-art { min-height: 240px; }
  .product-page .pd-overview-hero-art { min-height: 240px; }
  .product-page .pd-ai-hero-copy h1 { font-size: 2.5rem; }
  .product-page .pd-ai-art-caption { font-size: .52rem; }
}
@media (prefers-reduced-motion: reduce) {
  .product-page .pd-ai-link,.product-page .pd-ai-pulse { animation: none; }
}
.product-page .pd-hero-offer:nth-child(2) { transition-delay: 120ms; }
.product-page .pd-outcome-example:nth-child(2),.product-page .pd-industry:nth-child(2) { transition-delay: 80ms; }
.product-page .pd-specialty-card:nth-child(2) { transition-delay: 100ms; }
.product-page .pd-specialty-card:nth-child(3) { transition-delay: 200ms; }
.product-page .pd-tech-node:nth-of-type(2) { transition-delay: 90ms; }
.product-page .pd-tech-node:nth-of-type(3) { transition-delay: 180ms; }
.product-page .pd-tech-node:nth-of-type(4) { transition-delay: 270ms; }
.product-page .pd-tech-node:nth-of-type(5) { transition-delay: 360ms; }
.product-page .pd-outcome-example:nth-child(3),.product-page .pd-industry:nth-child(3) { transition-delay: 150ms; }
.product-page .pd-outcome-example:nth-child(4) { transition-delay: 220ms; }
@media (max-width: 900px) {
  .product-page .pd-specialty-heading { grid-template-columns: 1fr; gap: 1rem; }
  .product-page .pd-specialty-card { grid-template-columns: minmax(0,1fr) minmax(0,1fr); }
  .product-page .pd-specialty-card > p { grid-column: 1 / -1; }
  .product-page .pd-specialty-cta { grid-column: 1 / -1; }
  .product-page .pd-nova-card { width: 82%; grid-template-columns: 95px minmax(0,1fr); }
  .product-page .pd-industry-grid { grid-template-columns: 1fr; }
  .product-page .pd-tech-illustration { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .product-page .pd-tech-server,.product-page .pd-tech-database,.product-page .pd-tech-mobile,.product-page .pd-tech-deploy,.product-page .pd-tech-testing { grid-column: span 1; }
  .product-page .pd-tech-flow { display: none; }
  .product-page .pd-why-card { width: 78%; min-height: 260px; grid-template-columns: 1fr; gap: .65rem; padding: 1.35rem; }
  .product-page .pd-why-slides { min-height: 360px; padding-block: 1.5rem; touch-action: pan-y; }
  .product-page .pd-cta { grid-template-columns: 1fr; }
  .product-page .pd-faq-wrap { max-width: 56rem; }
}
@media (max-width: 720px) {
  .product-page .pd-outcome-examples { grid-template-columns: 1fr; }
}
@media (min-width: 1024px) {
  .product-page .pd-wrap { padding-inline: 3rem; }
}
@media (max-width: 620px) {
  .product-page .pd-section { padding-block: 4rem; }
  .product-page .pd-hero-text h2 { font-size: 1.4rem; }
  .product-page .pd-overview-hero .pd-actions { flex-wrap: wrap; }
  .product-page .pd-overview-hero .pd-actions .pd-button { width: min(100%, 18rem); padding-inline: 1.25rem; }
  .product-page .pd-hero h1.pd-hero-title { font-size: 2.5rem; }
  .product-page .pd-what-we-do h2 { font-size: 2rem; }
  .product-page .pd-hero-offers { grid-template-columns: 1fr; }
  .product-page .pd-hero-offer h2 { font-size: 1.3rem; }
  .product-page .pd-specialty-card { grid-template-columns: 1fr; }
  .product-page .pd-specialty-card > p,.product-page .pd-specialty-cta { grid-column: 1; }
  .product-page .pd-tech-illustration { grid-template-columns: 1fr; }
  .product-page .pd-faq-answer { padding-right: 0; }
  .product-page .pd-why-card { width: 82%; min-height: 280px; gap: .55rem; padding: 1.1rem; }
  .product-page .pd-why-slides { min-height: 390px; }
  .product-page .pd-nova-card { width: 86%; grid-template-columns: 1fr; gap: 1.1rem; padding: 1.25rem; }
  .product-page .pd-stage { flex-direction: row; align-items: center; }
  .product-page .pd-stage b { width: 44px; font-size: 1.4rem; }
  .product-page .pd-nova-card ul { grid-template-columns: 1fr; }
  .product-page .pd-output-strip { grid-template-columns: 1fr; }
  .product-page .pd-timeline { grid-template-columns: 1fr; padding: 1.25rem; }
  .product-page .pd-timeline ol { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .product-page .pd-stack-grid { grid-template-columns: 1fr; }
  .product-page .pd-stack-row,.product-page .pd-stack-row:nth-child(odd),.product-page .pd-stack-row:nth-last-child(-n+2) { grid-template-columns: 1fr; gap: .35rem; border-right: 0; border-bottom: 1px solid #aaa; }
  .product-page .pd-stack-row:last-child { border-bottom: 0; }
  .product-page .pd-cta-actions { align-items: stretch; }
  .product-page .pd-cta-actions .pd-button { align-self: flex-start; }
}
@media (prefers-reduced-motion: reduce) {
  .product-page .pd-reveal { opacity: 1; transform: none; transition: none; }
  .product-page .pd-nova-card { filter: none !important; transition: none; }
  .product-page .specialty-warehouse-icon,.product-page .specialty-data-icon,.product-page .specialty-legacy-loop { animation: none; }
  .product-page .pd-tech-flow span { animation: none; }
  .product-page .pd-why-card { transition: none; }
}
