.page-hero{position:relative;padding:clamp(4rem,9vw,7rem) 0 clamp(3rem,6vw,5rem);background:var(--brand-gradient);color:#FFFFFF;overflow:hidden;isolation:isolate;text-align:center}.page-hero::before{content:"";position:absolute;inset:0;background:radial-gradient(at 70% 25%,rgba(255,255,255,0.18) 0%,transparent 55%);pointer-events:none;z-index:-1}.page-hero::after{content:"";position:absolute;inset:0;background-image:radial-gradient(circle at 0 0,rgba(255,255,255,0.04) 1px,transparent 1px),radial-gradient(circle at 8px 8px,rgba(255,255,255,0.04) 1px,transparent 1px);background-size:16px 16px;pointer-events:none;opacity:0.5;z-index:-1}.page-hero>*{max-width:var(--max-width);margin-left:auto;margin-right:auto;padding-left:var(--container-padding);padding-right:var(--container-padding)}.page-hero h1{font-family:var(--font-heading);font-weight:700;font-size:clamp(2rem,5vw,3.25rem);line-height:1.1;letter-spacing:-0.02em;margin:0 0 1rem;color:#FFFFFF;max-width:22ch}.page-hero>p{font-size:clamp(1rem,1.3vw,1.1875rem);line-height:1.55;color:rgba(255,255,255,0.92);max-width:36em;margin:0 auto 1.75rem}.page-hero-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:clamp(2rem,4vw,4rem);align-items:center;max-width:var(--max-width);margin:0 auto;text-align:left}.page-hero:has(.page-hero-grid){text-align:left;min-height:clamp(520px,64vh,680px);display:flex;align-items:center}.page-hero:has(.page-hero-grid)>.page-hero-grid{max-width:var(--max-width);width:100%}.page-hero-text>*{max-width:100%}.page-hero-text h1{font-family:var(--font-heading);font-weight:700;font-size:clamp(2.25rem,6vw,4rem);line-height:1.05;letter-spacing:-0.025em;color:#FFFFFF;margin:0 0 1rem;max-width:none;text-align:left}.page-hero-text>p{font-size:clamp(1.0625rem,1.6vw,1.25rem);line-height:1.55;color:rgba(255,255,255,0.9);max-width:30em;margin:0 0 2rem;text-align:left}.page-hero-text .landing-cta-button{margin-bottom:0}.page-hero-visual{position:relative;align-self:center;display:flex;justify-content:center;align-items:center;min-height:clamp(360px,46vh,480px)}.page-hero-visual img{display:block;width:auto;max-width:100%;max-height:clamp(360px,46vh,480px);height:auto;margin:0 auto;border-radius:var(--radius-xl);box-shadow:0 30px 60px -20px rgba(0,30,70,0.35),0 8px 24px -8px rgba(0,0,0,0.25);transform:rotate(-2deg);object-fit:contain}.page-hero-visual.is-brand img{border-radius:0;box-shadow:none;transform:none;max-width:420px;max-height:clamp(220px,28vh,300px);margin:0 auto}.page-hero-visual.is-framed{background:transparent;border:0;padding:0;transform:none;box-shadow:none;border-radius:0;max-width:none;aspect-ratio:auto;display:flex;justify-content:center;align-items:center}.page-hero-visual.is-framed img{display:block;width:auto;max-width:100%;height:auto;max-height:clamp(360px,46vh,480px);margin:0;border-radius:var(--radius-xl);box-shadow:0 30px 60px -20px rgba(0,30,70,0.35),0 8px 24px -8px rgba(0,0,0,0.25);transform:rotate(-2deg);object-fit:contain}@media (max-width:900px){.page-hero:has(.page-hero-grid){min-height:0;display:block}.page-hero-grid{grid-template-columns:1fr;gap:2.5rem}.page-hero-visual{min-height:0}.page-hero-visual img{max-width:360px;max-height:400px;margin:0 auto}.page-hero-visual.is-brand img{max-width:320px;max-height:200px}}.page-section{padding:clamp(3.5rem,6vw,5rem) 0;background:var(--color-bg)}.page-hero + .page-section{background:var(--color-bg)}.page-hero + .page-section + .page-section{background:var(--color-bg-alt)}.page-hero + .page-section + .page-section + .page-section{background:var(--color-bg)}.page-hero + .page-section + .page-section + .page-section + .page-section{background:var(--color-bg-alt)}.page-hero + .page-section + .page-section + .page-section + .page-section + .page-section{background:var(--color-bg)}.page-hero + .page-section + .page-section + .page-section + .page-section + .page-section + .page-section{background:var(--color-bg-alt)}.page-section>*{max-width:var(--max-width);margin-left:auto;margin-right:auto;padding-left:var(--container-padding);padding-right:var(--container-padding)}.page-section h2{font-family:var(--font-heading);font-weight:700;font-size:clamp(1.625rem,3vw,2.25rem);line-height:1.15;letter-spacing:-0.015em;color:var(--color-text);margin:0 auto 2rem;text-align:left;max-width:var(--max-width)}.page-section h3{font-family:var(--font-heading);font-weight:600;font-size:1.125rem;color:var(--color-text);margin:1.5rem auto 0.5rem}.page-section p{line-height:1.65;color:var(--color-text-secondary);margin:0 auto 1rem}.page-section ul,.page-section ol{padding-left:calc(var(--container-padding) + 2rem);color:var(--color-text-secondary);line-height:1.65}.page-section li{margin:0.35rem 0}.page-hero + .page-section{padding-top:clamp(3rem,5vw,4rem)}.page-cards-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.25rem;max-width:var(--max-width);margin:0 auto}.page-card{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:1.5rem;box-shadow:0 1px 2px var(--color-shadow);transition:transform var(--transition),box-shadow var(--transition)}.page-card:hover{transform:translateY(-2px);box-shadow:0 8px 24px var(--color-shadow-lg)}.page-card h3{font-family:var(--font-heading);font-weight:600;font-size:1.0625rem;margin:0 0 0.5rem;color:var(--color-text)}.page-card p{font-size:0.9375rem;line-height:1.55;margin:0;color:var(--color-text-secondary);max-width:none}.page-card p + p{margin-top:0.875rem}.page-card p,.page-card ul,.page-card ol{max-width:none;margin-left:0;margin-right:0}.page-card ul{padding-left:0;margin:0;list-style-position:inside;font-size:0.9375rem;line-height:1.5;color:var(--color-text-secondary)}.page-card ul li{margin:0 0 0.4rem}.page-card ul li:last-child{margin-bottom:0}.page-card ul li strong{color:var(--color-text);font-weight:600}.marketing-page li::marker{color:var(--color-link)}.page-section--gallery{padding-top:0;padding-bottom:clamp(2rem,5vw,3.5rem)}.page-gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:0.4rem;max-width:var(--max-width);margin:0 auto;padding:0;align-items:center}.page-gallery img{width:100%;max-width:240px;height:auto;margin:0 auto;display:block;border-radius:var(--radius-lg);box-shadow:0 24px 60px -20px var(--color-shadow-lg)}.tap-demo{width:100%}.tap-demo-result{display:none}.tap-demo.is-active .tap-demo-empty{display:none}.tap-demo.is-active .tap-demo-result{display:block}.tap-demo-card{width:100%;max-width:400px;margin:0 auto;text-align:left;background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:clamp(1.75rem,3.5vw,2.5rem);box-shadow:0 24px 60px -24px var(--color-shadow-lg)}.tap-demo-label{margin:0;font-size:0.8125rem;font-weight:600;color:var(--color-text-muted)}.tap-demo-count-row{margin:0.6rem 0 0}.tap-demo-count{margin:0;font-family:var(--font-heading);font-weight:700;font-size:clamp(3.5rem,7vw,5rem);line-height:1;letter-spacing:-0.04em;color:var(--color-text);font-variant-numeric:tabular-nums}.tap-demo-caption{margin:0.5rem 0 0;font-size:0.95rem;line-height:1.5;color:var(--color-text-secondary)}.tap-demo-text{margin:0.6rem 0 0;font-size:1rem;line-height:1.6;color:var(--color-text-secondary)}.tap-demo-field{margin:1.5rem 0 0;padding:1.5rem 0 0;border-top:1px solid var(--color-border)}.tap-demo-field .tap-demo-label{margin-bottom:0.4rem}.tap-demo-value{margin:0;font-size:1.0625rem;font-weight:600;letter-spacing:0.01em;color:var(--color-text);font-variant-numeric:tabular-nums;word-break:break-all}@media (max-width:900px){.tap-counter-hero .page-hero-text{order:2}.tap-counter-hero .page-hero-visual{order:1}}.tap-cta{text-align:center}.tap-cta h2{font-family:var(--font-heading);font-weight:700;font-size:clamp(1.75rem,4vw,2.75rem);line-height:1.15;letter-spacing:-0.02em;color:#FFFFFF;margin:0 auto 1rem;max-width:18ch}.tap-cta-buttons{display:flex;flex-wrap:wrap;gap:0.85rem;justify-content:center;margin-top:2rem}.tap-cta-button{display:inline-flex;align-items:center;padding:0.85rem 1.7rem;border-radius:var(--radius);font-weight:600;font-size:1rem;text-decoration:none;border:1px solid transparent;transition:transform var(--transition),background var(--transition),border-color var(--transition)}.tap-cta-button.is-primary{background:#FFFFFF;color:#212529}.tap-cta-button.is-secondary{background:rgba(255,255,255,0.08);border-color:rgba(255,255,255,0.45);color:#FFFFFF}.tap-cta-button:hover{transform:translateY(-2px)}.tap-cta-button.is-secondary:hover{background:rgba(255,255,255,0.16);border-color:#FFFFFF}