/* Local behavior and accessibility additions; original design tokens live in globals.css. */
[hidden] { display: none !important; }
html { scroll-behavior: smooth; }
section[id], [id="cloud"] { scroll-margin-top: 100px; }
.local-product-menu { position: absolute; z-index: 100; top: calc(100% + 12px); left: -20px; width: 290px; padding: 10px; background: #fdfbf7; border: 2px solid #2d2d2d; border-radius: 12px 20px 16px 8px; box-shadow: 5px 5px 0 #2d2d2d; }
.local-product-menu a { display: block; padding: 10px 14px; color: #2d2d2d; border-radius: 8px; }
.local-product-menu a:hover, .local-product-menu a:focus-visible { background: #ffe36b; }
.local-product-menu strong { display: block; font-family: var(--font-heading); font-size: 21px; }
.local-product-menu span { font-size: 16px; }
.local-mobile-menu { position: absolute; left: 16px; right: 16px; top: 100%; padding: 16px 22px; border: 2px solid #2d2d2d; background: #fdfbf7; box-shadow: 4px 4px 0 #2d2d2d; border-radius: 8px 16px 12px 10px; }
.local-mobile-menu a { display: block; padding: 10px 4px; font-family: var(--font-heading); font-weight: bold; font-size: 22px; }
.local-mobile-menu a:hover { color: #fd452e; }
.newsletter-status { min-height: 24px; margin-top: 10px; text-align: center; font-size: 17px; }
.local-app-dialog { position: fixed; inset: 0; margin: auto; max-width: 480px; width: calc(100% - 32px); padding: 32px; color: #2d2d2d; background: #fdfbf7; border: 3px solid #2d2d2d; border-radius: 24px 10px 20px 12px; box-shadow: 8px 8px 0 #2d2d2d; }
.local-app-dialog::backdrop { background: #2d2d2d66; backdrop-filter: blur(4px); }
.local-app-dialog h2 { font-family: var(--font-heading); font-size: 30px; line-height: 1.2; margin-bottom: 16px; }
.local-app-dialog p { font-size: 20px; margin-bottom: 20px; }
.local-app-dialog a { display: inline-block; padding: 10px 20px; border: 2px solid #2d2d2d; background: #ffe36b; border-radius: 8px; font-weight: bold; }
.local-app-dialog button { margin-top: 20px; text-decoration: underline; cursor: pointer; }
a:focus-visible, button:focus-visible, input:focus-visible { outline: 3px solid #fd452e; outline-offset: 5px; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; } }
/* Hero interactions match the original kinetic letters and brush reveal. */
.hero-letter { transition: transform 300ms cubic-bezier(.18,.89,.32,1.35); }
.hero-letter:hover { transform: translateY(-.07em) rotate(var(--letter-tilt)); }
@keyframes employee-ink { from { clip-path: inset(0 100% 0 0); } to { clip-path: inset(0 0% 0 0); } }
.hero-ink { animation: employee-ink 1.3s cubic-bezier(.65,0,.35,1) .45s both; }
.hero-stamp { position: absolute; inset: 0; z-index: 40; display: flex; align-items: center; justify-content: center; pointer-events: none; }
.hero-stamp span { color: var(--color-accent, #e84b3a); border: 6px solid currentColor; padding: 16px 40px; font-family: var(--font-heading); font-size: clamp(2.25rem, 6vw, 4.5rem); font-weight: 900; letter-spacing: .12em; border-radius: 16px 22px 14px 24px / 22px 14px 24px 16px; box-shadow: inset 0 0 0 3px #e84b3a59; mix-blend-mode: multiply; }
@media (prefers-reduced-motion: reduce) { .hero-letter:hover { transform: none; } .hero-ink { animation: none; clip-path: inset(0) !important; } }
