/* A single visual story: inputs, connected research, and the BuyerBuilt delivery. */
.corporate-page .skip:not(:focus) { width:1px; height:1px; padding:0; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
.corporate-page .fr-hero { grid-template-columns:minmax(0,1fr); gap:0; padding-block:56px 64px; }
.corporate-page .fr-hero .hero-copy { max-width:1020px; margin-inline:auto; text-align:center; }
.corporate-page .fr-hero .kicker { justify-content:center; }
.corporate-page .fr-hero h1 { font-size:clamp(2.5rem,4.35vw,4rem); max-width:1020px; margin:24px auto; }
.corporate-page .fr-hero .hero-copy > p { max-width:780px; margin-inline:auto; }
.corporate-page .fr-hero .hero-actions { flex-direction:row; flex-wrap:wrap; justify-content:center; align-items:center; gap:18px 30px; margin-top:30px; }
.research-brain.fr-system { width:100%; max-width:none; margin-top:34px; padding:27px 28px 23px; background:linear-gradient(125deg,#102337,#0e1c2e 55%,#112a2f); border:1px solid #34495f; border-radius:16px; }
.fr-system-topline { display:flex; justify-content:space-between; flex-wrap:wrap; gap:12px; padding-bottom:22px; margin-bottom:25px; border-bottom:1px solid #34495f; color:#d5dfeb; font-size:.6875rem; line-height:1.7; letter-spacing:.08em; }
.fr-system-topline > span:last-child { color:#b9c8d7; }
.fr-system-flow { display:grid; grid-template-columns:minmax(0,.94fr) 37px minmax(0,1.5fr) 37px minmax(0,1.34fr); gap:10px; align-items:stretch; }
.fr-system-step { display:block; font-size:.6875rem; line-height:1.7; letter-spacing:.065em; color:#b9c8d7; margin-bottom:22px; }
.fr-system-inputs, .fr-system-thinking, .fr-system-output { min-width:0; display:flex; flex-direction:column; }
.fr-input-list { display:grid; gap:12px; align-content:center; flex:1; }
.fr-input { display:flex; align-items:center; gap:12px; padding:17px 13px; border:1px solid #42576e; border-radius:8px; background:#172e43; }
.fr-input-symbol { display:flex; flex:0 0 30px; color:#ffb391; }
.fr-input-symbol svg { width:30px; height:30px; fill:none; stroke:currentColor; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; }
.fr-input > div { min-width:0; }
.fr-input strong { font-weight:600; font-size:.9375rem; line-height:1.4; color:#f6f2e9; }
.fr-input > div > span { display:block; font-size:.75rem; line-height:1.5; color:#c0cedb; margin-top:4px; }
.fr-system-link { position:relative; display:flex; align-items:center; align-self:center; height:20px; margin-top:32px; color:#ffad87; }
.fr-system-link > span { height:1px; width:100%; background:currentColor; }
.fr-system-link svg { width:10px; height:16px; margin-left:-8px; fill:none; stroke:currentColor; stroke-width:1.5; flex-shrink:0; }
.fr-system-link.link-out { color:#bde28c; }
.fr-system-thinking { text-align:center; }
.fr-system-thinking .fr-system-step { text-align:left; }
.corporate-page .fr-system-thinking h2 { font-size:clamp(1.35rem,2vw,1.75rem); line-height:1.3; letter-spacing:-.04em; color:#f6f2e9; margin:0; }
.fr-system .brain-render { height:270px; flex:1 0 270px; margin-top:3px; background:radial-gradient(ellipse at center,#3e687929,transparent 70%); }
.fr-system .brain-render canvas { width:100%; height:100%; }
.fr-system .brain-fallback { font-size:1.375rem; gap:10px; padding:20px; }
.fr-system .brain-fallback > span { font-size:4rem; line-height:1; }
.fr-thinking-copy { padding:0 5px 6px; }
.fr-thinking-copy strong { display:block; font-weight:600; color:#ffc2a7; font-size:.875rem; line-height:1.6; }
.corporate-page .fr-thinking-copy p { font-size:.8125rem; line-height:1.75; color:#c4d1df; margin:10px auto 0; max-width:340px; }
.fr-output-kit { background:#eef3e3; color:#15352b; border:1px solid #d3e0c0; border-radius:10px; padding:23px 20px 0; flex:1; box-shadow:0 13px 30px #00000014; }
.fr-output-logo { display:block; width:170px; max-width:85%; height:auto; margin-bottom:18px; }
.corporate-page .fr-output-kit h2 { font-size:1.0625rem; line-height:1.45; color:#183c2d; font-weight:600; letter-spacing:-.02em; margin:0 0 20px; }
.fr-output-assets { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px 10px; padding-block:1px 21px; }
.fr-output-assets > div { min-width:0; display:flex; flex-direction:column; align-items:center; gap:7px; text-align:center; }
.fr-output-assets svg { width:48px; height:42px; fill:none; stroke:#46633e; stroke-width:1.35; stroke-linecap:round; stroke-linejoin:round; overflow:visible; }
.fr-output-assets .fr-asset-fill { fill:#b6cd8c; stroke:#46633e; }
.fr-output-assets .fr-asset-paper { fill:#eef3e3; }
.fr-output-assets span { font-size:.75rem; line-height:1.5; color:#36582d; }
.fr-output-plan { display:flex; align-items:center; gap:10px; padding:16px 0; border-top:1px solid #bacda9; font-size:.75rem; line-height:1.6; color:#36582d; }
.fr-output-plan svg { flex:0 0 24px; width:24px; height:24px; fill:none; stroke:currentColor; stroke-width:1.5; stroke-linecap:round; stroke-linejoin:round; }
.research-brain.fr-system figcaption { border-top:1px solid #34495f; margin-top:26px; padding-top:20px; font-size:.8125rem; color:#c7d4e0; }
.corporate-page .people-grid figcaption { letter-spacing:0; font-size:.875rem; line-height:1.7; }
.people-grid figcaption strong, .people-grid figcaption span { display:block; }
.people-grid figcaption strong { color:#1a3028; font-size:1rem; font-weight:600; }

/* Short, one-time input-to-output accent. The diagram stays complete throughout. */
.fr-system[data-intro='running'] .link-in { animation:fr-input-pass 3.8s ease-out both; }
.fr-system[data-intro='running'] .link-out { animation:fr-output-pass 3.8s ease-out both; }
@keyframes fr-input-pass { 0%,100% { filter:none; } 30% { filter:drop-shadow(0 0 7px #ff9a70); } }
@keyframes fr-output-pass { 0%,40%,100% { filter:none; } 70% { filter:drop-shadow(0 0 7px #d9f28a); } }

@media(max-width:1100px) {
 .research-brain.fr-system { padding:23px 20px; }
 .fr-system-flow { grid-template-columns:minmax(0,.94fr) 22px minmax(0,1.3fr) 22px minmax(0,1.3fr); gap:7px; }
 .fr-input { padding:15px 10px; gap:9px; }
 .fr-input-symbol, .fr-input-symbol svg { flex-basis:25px; width:25px; height:25px; }
 .fr-output-kit { padding:20px 16px 0; }
 .fr-system .brain-render { height:245px; flex-basis:245px; }
 .fr-thinking-copy { padding-inline:0; }
}
@media(max-width:900px) {
 .fr-system-flow { grid-template-columns:minmax(0,1fr) 26px minmax(0,1.5fr); gap:10px; }
 .fr-system-output { grid-column:1/-1; margin-top:10px; }
 .fr-system-link.link-out { grid-column:1/-1; justify-self:center; width:35px; margin:0; transform:rotate(90deg); }
 .fr-output-kit { display:grid; grid-template-columns:minmax(0,.7fr) minmax(0,1.5fr); gap:0 26px; padding:24px 24px 0; }
 .fr-output-logo { grid-column:1; align-self:end; }
 .corporate-page .fr-output-kit h2 { grid-column:1; margin-bottom:18px; }
 .fr-output-assets { grid-column:2; grid-row:1/3; grid-template-columns:repeat(3,minmax(0,1fr)); align-content:center; }
 .fr-output-plan { grid-column:1/-1; justify-content:center; }
 .fr-system-thinking .fr-system-step { margin-bottom:15px; }
 .fr-system .brain-render { height:240px; flex-basis:240px; }
}
@media(max-width:600px) {
 .corporate-page .fr-hero { padding-block:36px 44px; }
 .corporate-page .fr-hero .hero-copy { text-align:left; }
 .corporate-page .fr-hero .kicker { justify-content:flex-start; }
 .corporate-page .fr-hero h1 { font-size:clamp(2.375rem,7.6vw,3.25rem); }
 .corporate-page .fr-hero .hero-actions { flex-direction:column; align-items:stretch; gap:17px; }
 .corporate-page .fr-hero .hero-actions .quiet-link { align-self:flex-start; }
 .research-brain.fr-system { margin-top:26px; padding:20px 17px; }
 .fr-system-topline { padding-bottom:18px; margin-bottom:20px; font-size:.625rem; }
 .fr-system-topline > span:last-child { display:none; }
 .fr-system-flow { display:flex; flex-direction:column; gap:17px; }
 .fr-system-step { margin-bottom:15px; font-size:.6875rem; }
 .fr-input-list { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
 .fr-input { flex-direction:column; align-items:flex-start; padding:14px 12px; gap:10px; }
 .fr-input strong { font-size:.875rem; }
 .fr-input > div > span { font-size:.75rem; }
 .fr-system-link { align-self:center; width:35px; transform:rotate(90deg); margin:0; }
 .fr-system .brain-render { flex:auto; height:250px; }
 .corporate-page .fr-system-thinking h2 { font-size:1.6rem; }
 .fr-thinking-copy strong { font-size:.9375rem; }
 .corporate-page .fr-thinking-copy p { font-size:.875rem; }
 .fr-system-output { margin-top:0; }
 .fr-output-kit { display:block; padding:23px 20px 0; }
 .fr-output-logo { width:185px; }
 .corporate-page .fr-output-kit h2 { font-size:1.125rem; }
 .fr-output-assets { grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px 12px; }
 .fr-output-assets span, .fr-output-plan { font-size:.8125rem; }
 .research-brain.fr-system figcaption { text-align:left; margin-top:23px; padding-top:18px; }
}
@media(max-width:350px) {
 .research-brain.fr-system { padding-inline:14px; }
 .fr-input { padding:12px 9px; }
 .fr-output-kit { padding-inline:15px; }
 .fr-system .brain-render { height:220px; }
}
@media(prefers-reduced-motion:reduce) {
 .fr-system[data-intro='running'] :is(.link-in,.link-out) { animation:none; }
}
