/* Licensed beUI Pro sources retrieved via its MCP: hero-signal-aurora,
   integrations-directory, footer-spotlight. Native Go SSR port, scoped to home.
   Shader/motion layers are adapted to CSS; no React runtime or remote assets. */
body.home-page {
  --home-paper: #faf8f5;
  --home-ink: #282b29;
  --home-muted: #656963;
  --home-line: rgba(40, 43, 41, .14);
  --home-accent: #9e4937;
  background: var(--home-paper);
  color: var(--home-ink);
}
body.home-page[data-theme="dark"] {
  --home-paper: #141918;
  --home-ink: #f1f0e8;
  --home-muted: #aeb7b2;
  --home-line: rgba(230, 239, 232, .15);
  --home-accent: #f3ad94;
  background: var(--home-paper);
}
.home-pro, .pro-footer { font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; }
.home-pro p, .pro-footer p, .home-pro h1, .home-pro h2, .pro-footer h2 { margin: 0; }
.home-pro a, .pro-footer a { color: inherit; text-decoration: none; }
.home-pro .sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.home-pro :focus-visible, .pro-footer :focus-visible { outline: 2px solid var(--home-accent); outline-offset: 6px; }
.pro-signal-hero { position: relative; isolation: isolate; overflow: hidden; margin-top: -72px; padding: 168px 24px 0; text-align: center; }
.pro-aurora { position: absolute; inset: 0; z-index: -1; background: var(--home-paper); overflow: hidden; }
.pro-aurora::before { content: ""; position: absolute; inset: 15% -10% -30%; background: radial-gradient(ellipse at 22% 72%, #b4cfbd 0%, transparent 44%), radial-gradient(ellipse at 76% 65%, #f0c2a7 0%, transparent 48%), radial-gradient(ellipse at 50% 85%, #e4c9bd 0%, transparent 65%); filter: blur(45px); opacity: .7; animation: pro-aurora-drift 12s ease-in-out both; }
.pro-aurora::after { content: ""; position: absolute; inset: 0; background: linear-gradient(var(--home-paper), transparent 40%, transparent 70%, var(--home-paper)); }
[data-theme="dark"] .pro-aurora::before { background: radial-gradient(ellipse at 22% 72%, #215e54 0%, transparent 48%), radial-gradient(ellipse at 76% 65%, #764c43 0%, transparent 48%), radial-gradient(ellipse at 50% 85%, #243c51 0%, transparent 65%); opacity: .6; }
.pro-hero-inner { position: relative; max-width: 860px; margin: 0 auto; }
.pro-eyebrow { display: inline-flex; align-items: center; gap: 9px; border: 1px solid var(--home-line); padding: 9px 14px; border-radius: 999px; font-size: 11px; font-weight: 600; letter-spacing: .045em; background: color-mix(in srgb, var(--home-paper) 50%, transparent); }
.pro-live-dot { width: 6px; height: 6px; border-radius: 50%; display: inline-block; flex-shrink: 0; background: #43826c; box-shadow: 0 0 0 3px #43826c14; }
[data-theme="dark"] .pro-live-dot { background: #97c9ae; }
.home-pro h1 { margin-top: 27px; font-family: Georgia, "Times New Roman", serif; font-weight: 400; font-size: clamp(62px, 7.3vw, 104px); line-height: 1.02; letter-spacing: -.065em; text-wrap: balance; }
.home-pro h1 em { color: var(--home-accent); font-weight: 400; }
.pro-hero-description { margin-top: 26px !important; color: var(--home-muted); font-size: 17px; line-height: 1.7; letter-spacing: -.015em; }
.pro-cta { display: inline-flex; align-items: center; justify-content: center; gap: 28px; padding: 17px 24px; min-height: 54px; border-radius: 999px; margin-top: 28px; background: var(--home-ink); color: var(--home-paper) !important; font-size: 13px; font-weight: 600; box-shadow: 0 5px 15px #0000000d; transition: transform .25s, box-shadow .25s; }
.pro-cta span { font-size: 19px; transition: transform .25s; }
.pro-cta:hover { transform: translateY(-2px); box-shadow: 0 8px 25px #00000020; }
.pro-cta:hover span { transform: translate(2px, -2px); }
.pro-hero-note { margin-top: 17px !important; color: var(--home-muted); font-size: 11px; }
.pro-source-band { max-width: 1000px; margin: 72px auto 0; padding: 0 0 40px; }
.pro-source-band > p { font-size: 10px; letter-spacing: .08em; text-transform: uppercase; color: var(--home-muted); }
.pro-source-marks { display: flex; align-items: center; justify-content: space-between; gap: 28px; margin-top: 27px; color: var(--home-muted); }
.pro-source-marks > span { font-size: 21px; font-weight: 700; letter-spacing: -.05em; }
.pro-source-marks > span:nth-child(2), .pro-source-marks > span:nth-child(3) { font-family: Georgia, serif; }
.pro-source-marks > span:nth-child(4) { font-family: Georgia, serif; font-size: 32px; }
.pro-source-marks > span:nth-child(5) { font-style: italic; font-size: 19px; }
.pro-mark-small { font-family: sans-serif; font-size: 7px; letter-spacing: .1em; display: inline-block; vertical-align: middle; }
.pro-directory { max-width: 1168px; margin: 0 auto; padding: 72px 24px 80px; scroll-margin-top: 110px; }
.pro-directory-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 32px; margin-bottom: 35px; }
.pro-section-label { text-transform: uppercase; font-size: 10px; letter-spacing: .14em; font-weight: 600; color: var(--home-accent); margin-bottom: 14px !important; }
.pro-directory h2 { font-family: Georgia, serif; font-weight: 400; font-size: clamp(32px, 3.5vw, 44px); line-height: 1.15; letter-spacing: -.045em; }
.pro-directory-heading p:last-child { font-size: 13px; line-height: 1.7; color: var(--home-muted); margin-top: 12px; }
.pro-search { position: relative; width: 270px; flex-shrink: 0; }
.pro-search svg { position: absolute; left: 17px; top: 17px; width: 16px; height: 16px; fill: none; stroke: var(--home-muted); stroke-width: 1.5; }
.pro-search input { border: 1px solid var(--home-line); background: transparent; color: var(--home-ink); border-radius: 999px; height: 50px; width: 100%; padding: 0 17px 0 44px; font: inherit; font-size: 12px; }
.pro-search input::placeholder { color: var(--home-muted); }
.pro-directory-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px 32px; counter-reset: topic; }
.pro-directory-item { counter-increment: topic; position: relative; display: flex; align-items: center; gap: 20px; padding: 30px 14px; min-height: 138px; border-top: 1px solid var(--home-line); border-radius: 2px 2px 18px 18px; transition: background .25s; }
.pro-directory-item:hover { background: color-mix(in srgb, var(--home-ink) 3%, transparent); }
.pro-topic-mark { flex-shrink: 0; width: 62px; height: 62px; display: grid; place-items: center; border: 1px solid #00000006; border-radius: 18px; color: #496a67; background: #e5eeea; transform: rotate(-5deg); transition: transform .35s cubic-bezier(.16,1,.3,1); }
.pro-topic-mark svg { width: 29px; height: 29px; fill: none; stroke: currentColor; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; }
.pro-directory-item:hover .pro-topic-mark { transform: rotate(0) scale(1.06); }
[data-topic="ia-cyber"] .pro-topic-mark { color: #766390; background: #ece6f2; transform: rotate(5deg); }
[data-topic="running"] .pro-topic-mark { color: #687648; background: #eaf0d9; }
[data-topic="formule-1"] .pro-topic-mark { color: #ad5647; background: #f2e0d8; }
[data-theme="dark"] .pro-topic-mark { background: color-mix(in srgb, currentColor 20%, #1c2422); color: #accac1; border-color: #ffffff0b; }
[data-theme="dark"] [data-topic="ia-cyber"] .pro-topic-mark { color: #d0bce9; }
[data-theme="dark"] [data-topic="running"] .pro-topic-mark { color: #c1d29c; }
[data-theme="dark"] [data-topic="formule-1"] .pro-topic-mark { color: #eab0a0; }
.pro-topic-copy { flex: 1; min-width: 0; }
.pro-topic-name { display: block; font-size: 19px; letter-spacing: -.03em; font-weight: 600; }
.pro-topic-description { display: block; max-width: 330px; font-size: 12px; line-height: 1.65; color: var(--home-muted); margin-top: 8px; }
.pro-topic-arrow { align-self: center; font-size: 23px; color: var(--home-muted); transition: transform .25s; }
.pro-directory-item:hover .pro-topic-arrow { transform: translate(3px,-3px); color: var(--home-accent); }
.pro-directory-item:last-child:nth-child(odd) { grid-column: 1 / -1; }
.pro-directory-item:last-child:nth-child(odd) .pro-topic-description { max-width: none; }
.pro-directory-bottom { border-top: 1px solid var(--home-line); margin-top: 8px; padding-top: 22px; display: flex; justify-content: space-between; gap: 20px; font-size: 10px; color: var(--home-muted); }
.pro-directory-bottom > span:last-child { display: flex; align-items: center; gap: 10px; }
.pro-directory-empty { text-align: center; padding: 70px 20px; border: 1px solid var(--home-line); border-radius: 24px; }
.pro-directory-empty button { background: transparent; border: 0; color: var(--home-accent); text-decoration: underline; text-underline-offset: 4px; cursor: pointer; padding: 15px; font: inherit; font-size: 13px; }
.home-pro [hidden] { display: none !important; }
.pro-footer { border-top: 1px solid var(--home-line); overflow: hidden; background: color-mix(in srgb, var(--home-ink) 2%, var(--home-paper)); }
.pro-footer-inner { max-width: 1168px; margin: 0 auto; padding: 60px 24px 0; }
.pro-footer-grid { display: grid; grid-template-columns: 1.4fr .8fr 1fr; gap: 60px; }
.site-brand-logo { display: block; object-fit: contain; flex: none; }
.pro-footer-brand .site-brand-logo { width: 64px; height: 64px; }
.pro-footer-brand > a { display: inline-flex; align-items: center; gap: 12px; font-size: 25px; font-weight: 650; letter-spacing: -.04em; }
.pro-footer-brand > a span { color: inherit; white-space: nowrap; line-height: 1; }
.pro-footer-about p { color: var(--home-muted); font-size: 12px; line-height: 1.8; margin-top: 16px; }
.pro-footer h2 { font-size: 12px; font-weight: 600; }
.pro-footer-links { display: flex; flex-direction: column; gap: 12px; align-items: flex-start; }
.pro-footer-links h2 { margin-bottom: 6px; }
.pro-footer-links a { font-size: 12px; color: var(--home-muted); transition: color .2s; }
.pro-footer a:hover { color: var(--home-accent); }
.pro-credit a { text-decoration: underline; text-underline-offset: 3px; }
.pro-footer-legal { margin-top: 45px; border-top: 1px solid var(--home-line); padding-top: 20px; display: flex; justify-content: space-between; gap: 24px; color: var(--home-muted); font-size: 9px; line-height: 1.8; }
.pro-spotlight { position: relative; margin-top: 32px; height: clamp(100px, 13vw, 185px); user-select: none; }
.pro-spotlight > span { position: absolute; bottom: 0; left: 0; width: 100%; transform: translateY(29%); text-align: center; font-size: clamp(90px, 18vw, 248px); line-height: .9; letter-spacing: -.075em; font-weight: 600; color: transparent; -webkit-text-stroke: 1px color-mix(in srgb, var(--home-ink) 20%, transparent); }
.pro-spotlight .pro-spotlight-fill { color: var(--home-accent); -webkit-text-stroke: 0; opacity: 0; mask-image: radial-gradient(220px circle at var(--spot-x, 50%) var(--spot-y, 50%), black, transparent 70%); transition: opacity .35s; }
.pro-spotlight.is-lit .pro-spotlight-fill { opacity: 1; }
.pro-rise { animation: pro-rise .7s cubic-bezier(.16,1,.3,1) both; }
h1.pro-rise { animation-delay: .07s; }
.pro-hero-description.pro-rise { animation-delay: .14s; }
.pro-cta.pro-rise { animation-delay: .21s; }
.pro-hero-note.pro-rise { animation-delay: .28s; }
@keyframes pro-rise { from { opacity: 0; transform: translateY(14px); filter: blur(6px); } to { opacity: 1; transform: translateY(0); filter: blur(0); } }
@keyframes pro-aurora-drift { from { transform: scale(1.1) translate(-2%, 2%); } to { transform: scale(1) translate(2%, 0); } }
@media (max-width: 1100px) { .pro-signal-hero { margin-top: -80px; } }
@media (max-width: 700px) {
  .pro-signal-hero { padding: 140px 22px 0; }
  .home-pro h1 { font-size: clamp(58px, 11vw, 78px); margin-top: 30px; }
  .pro-hero-description { font-size: 14px; margin-top: 24px !important; }
  .pro-source-band { margin-top: 60px; padding-bottom: 25px; }
  .pro-source-marks { flex-wrap: wrap; justify-content: center; gap: 19px 25px; margin-top: 23px; }
  .pro-source-marks > span { font-size: 17px; }
  .pro-source-marks > span:nth-child(4) { font-size: 24px; }
  .pro-source-marks > span:nth-child(5) { font-size: 16px; }
  .pro-directory { padding: 55px 22px 55px; }
  .pro-directory-heading { flex-direction: column; align-items: stretch; gap: 25px; margin-bottom: 22px; }
  .pro-directory h2 { font-size: 35px; }
  .pro-search { width: 100%; }
  .pro-directory-grid { grid-template-columns: minmax(0,1fr); gap: 5px; }
  .pro-directory-item { min-height: 124px; padding: 22px 4px; gap: 17px; }
  .pro-topic-mark { width: 54px; height: 54px; border-radius: 16px; }
  .pro-topic-name { font-size: 18px; }
  .pro-topic-description { font-size: 11px; margin-top: 6px; }
  .pro-directory-bottom { flex-direction: column; gap: 13px; }
  .pro-footer-inner { padding: 40px 22px 0; }
  .pro-footer-grid { grid-template-columns: 1fr 1fr; gap: 35px; }
  .pro-footer-about { grid-column: 1 / -1; }
  .pro-footer-legal { flex-direction: column; gap: 8px; margin-top: 30px; }
  .pro-spotlight { margin-top: 28px; height: 85px; }
  .pro-spotlight > span { font-size: 20vw; }
}
@media (hover: none), (prefers-reduced-motion: reduce) {
  .pro-spotlight .pro-spotlight-fill { opacity: .07; mask-image: none; }
}
@media (prefers-reduced-motion: reduce) {
  .pro-rise, .pro-aurora::before { animation: none; }
  .home-pro *, .pro-footer * { transition: none !important; scroll-behavior: auto; }
}
/* Public editorial policy: the same typography and generous rhythm as home. */
.about-editorial{max-width:1000px;margin:0 auto;padding:100px 32px 80px;color:var(--pro-ink,inherit)}
.about-editorial h1{font-size:clamp(48px,7vw,88px);line-height:1.03;letter-spacing:-.05em;margin:28px 0}
.about-editorial h1 em{font-family:Georgia,serif;font-weight:400}
.about-editorial .about-lead{font-size:22px;line-height:1.6;max-width:760px}
.about-editorial>section{margin-top:54px;padding-top:30px;border-top:1px solid currentColor}
.about-editorial h2{font-size:28px;letter-spacing:-.03em;margin:0 0 18px}
.about-editorial p,.about-editorial li{line-height:1.75}
.about-editorial a{text-decoration:underline;text-underline-offset:3px;color:inherit;overflow-wrap:anywhere}
.about-sources{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 40px}
.about-sources ul{padding-left:20px}
@media(max-width:600px){.about-editorial{padding:64px 22px}.about-sources{grid-template-columns:1fr}}
