/* Shared foundation for product and company pages, loaded once by _Layout. */
.eurion-product-design {
  --page-panel: #101010;
  --page-text: #f2f2f2;
  --page-muted: #a3a3a3;
  /* Same deep blue as the home hero's atmosphere; reserved for section edges. */
  --page-blue-rgb: 0 77 166;
  --page-blue: rgb(var(--page-blue-rgb));
  --page-line: rgb(255 255 255 / .12);
  color: var(--page-text);
  color-scheme: dark;
}
.eurion-page { padding-top: var(--eurion-header-height); font-family: 'Manrope', sans-serif; }
.eurion-page *, .eurion-page *::before, .eurion-page *::after { box-sizing: border-box; }
.eurion-page :is(h1,h2,h3,p) { margin: 0; }
.eurion-page-container { width: min(1440px, calc(100% - clamp(40px, 8vw, 152px))); margin-inline: auto; }
.eurion-page-intro { padding: clamp(40px, 4vw, 72px) 0 clamp(48px, 5vw, 80px); }
.eurion-page-intro__grid { display: grid; grid-template-columns: 5fr 7fr; align-items: end; gap: 32px clamp(40px, 5vw, 90px); }
.eurion-page-intro__logo { display:block; width:166px; max-width:100%; height:auto; }
.eurion-page-label { display: inline-flex; align-items: center; gap: 8px; padding: 6px 11px; border-radius: 999px; background: #ffffff04; color: #e4e4e4; font: 500 12px/1.5 'IBM Plex Mono', monospace; }
.eurion-page-label > span { width: 7px; height: 7px; border-radius: 50%; background: #009aff; }
.eurion-page-intro h1 { max-width: 650px; margin-top: 24px; color: var(--page-text); font-size: clamp(34px, 3.2vw, 54px); font-weight: 400; letter-spacing: -.045em; line-height: 1.17; }
.eurion-page-intro__description { max-width: 760px; padding-bottom: 3px; color: #c7c7c7; font: 400 clamp(17px, 1.3vw, 21px)/1.65 'Inter Tight', sans-serif; }
.eurion-gradient-section { position: relative; isolation: isolate; background: radial-gradient(ellipse 70% 560px at 50% 0%, rgb(var(--page-blue-rgb) / .34), rgb(var(--page-blue-rgb) / .12) 34%, transparent 75%); }
.eurion-fading-border { position: absolute; top: 0; left: 50%; width: min(1440px, 100%); max-width: 100%; height: 1px; transform: translateX(-50%); background: linear-gradient(90deg, transparent, rgb(var(--page-blue-rgb) / .18) 20%, var(--page-blue) 50%, rgb(var(--page-blue-rgb) / .18) 80%, transparent); }
.eurion-gradient-card { border: 1px solid var(--page-line); border-radius: 10px; background: var(--page-panel); }
.eurion-eyebrow { display: block; color: var(--page-muted); font: 400 10px/1.6 'IBM Plex Mono', monospace; letter-spacing: .13em; text-transform: uppercase; }
.eurion-accent { color: #bdbdbd; }
.eurion-page :is(a,button,input,textarea):focus-visible { outline: 2px solid #bdbdbd; outline-offset: 4px; }
/* Shared secondary actions: one hit area, one outline, no separate text/arrow underlines. */
.eurion-page .eurion-text-link { display: inline-flex; align-items: center; justify-content: space-between; gap: 14px; width: fit-content; max-width: 100%; min-height: 44px; padding: 10px 16px; border: 1px solid #ffffff30; border-radius: 999px; background: transparent; color: #dedede; font: 500 13px/1.5 'Manrope', sans-serif; text-align: left; text-decoration: none; vertical-align: middle; transition: border-color .2s, color .2s, background .2s; }
.eurion-page .eurion-text-link > span[aria-hidden="true"] { display: inline-grid; place-items: center; flex: 0 0 18px; width: 18px; height: 18px; color: var(--eurion-blue, #009aff); font-size: 18px; line-height: 1; text-decoration: none; }
.eurion-page .eurion-text-link:is(:hover,:focus-visible) { border-color: var(--eurion-blue, #009aff); background: #ffffff06; color: #fff; text-decoration: none; }
.eurion-page .eurion-text-link:focus-visible { outline-color: var(--eurion-blue, #009aff); }
@media (max-width: 1400px) {
  .has-product-navigation .eurion-page { padding-top: calc(var(--eurion-header-height) + 50px); }
}
@media (max-width: 900px) {
  .eurion-page-intro__grid { grid-template-columns: 1fr; gap: 26px; }
  .eurion-page-intro h1 { max-width: 640px; }
  .eurion-page-intro__description { max-width: 680px; }
}
@media (max-width: 600px) {
  .eurion-page-intro { padding: 36px 0 40px; }
  .eurion-page-intro h1 { font-size: clamp(32px, 8.3vw, 42px); margin-top: 20px; }
  .eurion-page-intro__description { font-size: 17px; }
  .eurion-gradient-card { border-radius: 8px; }
}
@media (prefers-reduced-motion: reduce) {
  .eurion-page [data-opai-animate], .eurion-page [data-text-reveal], .eurion-page :is(.tr-line,.tr-word,.tr-char) { opacity: 1 !important; transform: none !important; filter: none !important; }
  .eurion-page .eurion-fading-border { width: min(1440px, 100%) !important; }
  .eurion-page * { transition: none !important; }
}
