/* HALORA R30 — compact editorial gallery and connected, living diagrams. */
#selected.r30-selected { padding-top: 32px; padding-bottom: 40px; }
#selected.r30-selected > header { display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; margin: 0 0 20px; }
#selected.r30-selected > header h2 { font-size: clamp(28px, 3vw, 40px); line-height: 1.2; margin: 7px 0 0; }
#selected.r30-selected > header .eyebrow { font-size: 11px; letter-spacing: .13em; margin: 0; }
#selected.r30-selected > header > p { font-size: 15px; line-height: 1.7; margin: 0; max-width: 460px; }
#selected.r30-selected .folio-toolbar { padding-block: 12px; margin-bottom: 14px; gap: 12px; }
#selected.r30-selected .folio-toolbar button { min-height: 42px; padding: 9px 17px; font-size: 15px; }
#selected.r30-selected [data-folio-library-link] { min-height: 44px; padding: 10px 22px; font-size: 16px; box-shadow: none; }
#selected.r30-selected .r23-collection-heading { margin-top: 22px; margin-bottom: 16px; padding-top: 0; }
#selected.r30-selected .r23-collection-heading h2, #selected.r30-selected .r23-collection-heading h3 { font-size: 23px; }
#selected.r30-selected .r23-collection-heading p { font-size: 14px; }
.r30-mixed-grid.r30-mixed-grid { grid-auto-rows: auto !important; align-items: start !important; }
.r30-mixed-grid > [data-record] { grid-row: auto !important; }
.r30-mixed-grid > [hidden], .r30-report-grid > [hidden], .r30-report-grid[hidden] { display: none !important; }
.r30-case-card { min-width: 0; overflow: hidden; border: 1px solid #c9d8e9; background: #f1f5fa; border-radius: 10px; color: #142d48; }
.r30-case-visual { height: 230px; overflow: hidden; position: relative; display: flex; align-items: center; background: #102d46; color: #fff; }
.r30-case-visual::before { content: ''; position: absolute; width: 280px; height: 280px; right: -40px; top: -110px; border: 1px solid #7bafc14f; border-radius: 50%; box-shadow: 0 0 0 40px #7bafc10b, 0 0 0 80px #7bafc108; }
.r30-case-visual > img { width: 100%; height: 100%; object-fit: cover; position: relative; }
.r30-case-visual > span:last-child { position: absolute; left: 15px; bottom: 14px; padding: 5px 9px; background: #071b2be6; font-size: 11px; letter-spacing: .06em; color: #fff; }
.r30-case-visual .r30-case-word { display: block; font-size: clamp(24px, 2.7vw, 42px); font-weight: 650; letter-spacing: -.045em; line-height: 1.02; padding: 26px; color: #d1e6ed; }
.r30-case-copy { padding: 17px; }
.r30-case-origin { display: inline-block; font-size: 11px; color: #476e82; margin: 0 0 7px; }
.r30-case-copy > h3 { font-size: 18px; line-height: 1.45; margin: 0 0 10px; }
.r30-case-copy > p { font-size: 15px; line-height: 1.7; color: #486079; margin: 7px 0 12px; }
.r30-case-service b { display: block; margin-bottom: 5px; font-size: 12px; color: #08747b; letter-spacing: .04em; }
.r30-case-detail { margin-top: 12px; border-top: 1px solid #c5d7e5; }
.r30-case-detail > summary { display: flex; align-items: center; justify-content: space-between; padding: 13px 0 0; color: #0756ff; font-size: 14px; font-weight: 650; cursor: pointer; list-style: none; }
.r30-case-detail > summary::-webkit-details-marker { display: none; }
.r30-case-detail > summary i { font-style: normal; }
.r30-case-detail[open] > summary i { transform: rotate(45deg); }
.r30-case-full { padding-top: 18px; }
.r30-case-full .case-index > h3 { display: none; }
.r30-case-full > .case-index, .r30-case-full > .r16-case-snapshot, .r30-case-full > .folio-disclosure > summary { display: none; }
.r30-case-full > .folio-disclosure { border: 0; margin: 0; padding: 0; }
.r30-case-full .folio-detail { padding: 0; margin: 0; }
.r30-case-full .folio-media { display: none; }
.r30-case-full h4 { font-size: 15px; margin: 14px 0 6px; }
.r30-case-full p, .r30-case-full li { font-size: 14px; line-height: 1.8; }
.r30-case-full .r16-case-profile { display: block; }
.r30-legacy-anchor { display: block; height: 0; scroll-margin-top: 180px; }
/* Real report pages: a small home entry and a compact library shelf. */
#strategy-report.r30-report-strip { display: grid; grid-template-columns: minmax(200px, 1fr) 146px 146px auto; gap: 22px; align-items: center; margin: 26px 0; padding: 23px 0; border-block: 1px solid #cedae7; background: transparent; }
.r30-report-strip h2 { font-size: 25px; line-height: 1.35; margin: 5px 0 8px; }
.r30-report-strip p { font-size: 14px; line-height: 1.6; color: #5a6f84; margin: 0; }
.r30-report-strip .eyebrow { font-size: 11px; color: #0756ff; letter-spacing: .12em; }
.r30-report-strip figure { margin: 0; }
.r30-report-strip figure img { display: block; height: 160px; width: 113px; object-fit: contain; background: #fff; border: 1px solid #d6e0e8; box-shadow: 5px 5px 0 #e0e8f0; }
.r30-report-strip figcaption { margin-top: 9px; font-size: 12px; color: #304c68; }
.r30-report-strip > a { color: #0756ff; font-weight: 650; font-size: 15px; padding: 11px 0; white-space: nowrap; }
.r30-report-strip a:focus-visible, .r30-report-samples a:focus-visible { outline: 3px solid #0756ff; outline-offset: 4px; }
.r30-report-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.r30-report-card { border: 1px solid #d0dce8; border-radius: 8px; overflow: hidden; background: #fff; min-width: 0; }
.r30-report-samples { display: flex; justify-content: center; padding: 18px; background: #edf2f5; }
.r30-report-samples a { display: block; min-width: 0; }
.r30-report-samples img { display: block; width: 148px; height: 210px; margin-inline: auto; object-fit: contain; background: #fff; border: 1px solid #dbe1e6; box-shadow: 4px 5px 0 #dce4ec; }
.r30-report-samples span { display: block; color: #0756ff; font-size: 12px; margin-top: 8px; }
.r30-report-copy { padding: 18px; }
.r30-report-copy h3 { font-size: 19px; line-height: 1.4; margin: 8px 0 10px; }
.r30-report-copy > p { font-size: 15px; line-height: 1.7; color: #476078; }
.r30-report-copy > small { font-size: 11px; color: #657e96; }
.r30-report-copy > a { display: inline-block; color: #0756ff; font-size: 13px; margin: 12px 16px 0 0; padding: 4px 0; }
.r30-report-copy .folio-tags { font-size: 11px; margin: 0; }
/* All diagrams keep their content visible without JavaScript. */
.r30-stage { --r30-blue: #4c94ff; --r30-ice: #7bdce8; --r30-line: #395371; }
.r30-stage > header { position: relative; padding-bottom: 42px; margin-bottom: 22px; }
.r30-stage > header .r30-motion-toggle { position: absolute; bottom: 0; right: 0; margin: 0; padding: 7px 11px; display: none; align-items: center; gap: 6px; background: transparent; border: 1px solid #526987; border-radius: 3px; color: #b8cbe2; font-size: 11px; cursor: pointer; }
.r30-stage[data-r30-ready] .r30-motion-toggle { display: inline-flex; }
.r30-motion-toggle:focus-visible { outline: 2px solid #7bdce8; outline-offset: 4px; }
.r30-stage > header .r30-motion-toggle[disabled] { cursor: default; opacity: .75; }
.r30-wires { position: absolute !important; inset: 0; width: 100%; height: 100%; overflow: visible; pointer-events: none; z-index: 0; }
.r30-wire-base { fill: none; stroke: #47769b65; stroke-width: 1; }
.r30-wire-live { fill: none; stroke: #7bdce8; stroke-width: 2; stroke-linecap: round; stroke-dasharray: 18 150; filter: drop-shadow(0 0 4px #50b9ff); animation: r30-current 4s linear infinite; }
.r30-orbit { position: absolute !important; width: 250px; height: 250px; right: calc(50% - 125px); top: 8px; pointer-events: none; opacity: .43; overflow: visible; }
.r30-orbit circle { fill: none; stroke: #97d3ff; stroke-width: .7; }
.r30-orbit .r30-ring { stroke-dasharray: 9 12; transform-origin: 100px 100px; animation: r30-spin 32s linear infinite; }
.r30-orbit .r30-ring-inner { transform-origin: 100px 100px; animation: r30-spin 23s linear infinite reverse; }
.r30-orbit .r30-orbit-dot { fill: #b8f7ff; stroke-width: 0; }
#ai-advantages.r30-stage { padding-top: 54px; padding-bottom: 42px; background: #091421; }
#ai-advantages.r30-stage::before { background: radial-gradient(ellipse at 50% 35%, #11436b52, transparent 58%), linear-gradient(110deg, #081321, #0d1b30); }
#ai-advantages.r30-stage .m15-product-heading h2 { font-size: clamp(60px, 6vw, 88px); letter-spacing: -.055em; }
#ai-advantages.r30-stage .m15-product-heading h2 > span { font-size: 22px; margin-top: 9px; }
#ai-advantages.r30-stage .m15-home-system { gap: 34px; }
#ai-advantages.r30-stage .m15-home-system > div:not(.m15-home-outputs) { padding: 25px; border-radius: 4px; background: #0d2034e8; border-color: #38536e; z-index: 1; }
#ai-advantages.r30-stage .m15-home-system > .m15-home-engine { border-color: #77b4de; background: linear-gradient(150deg, #164ea0, #102a47); box-shadow: inset 0 1px 0 #8fdcff33, 0 18px 60px #01071244; overflow: hidden; }
#ai-advantages.r30-stage .m15-home-input::after, #ai-advantages.r30-stage .m15-home-engine::after { display: none; }
#ai-advantages.r30-stage .m15-home-engine > :not(svg) { position: relative; z-index: 1; }
#ai-advantages.r30-stage .m15-engine-route { min-height: 94px; margin-top: 12px; }
#ai-advantages.r30-stage .m15-engine-route b { font-size: clamp(21px, 2.5vw, 32px); }
#ai-advantages.r30-stage .m15-engine-route i { color: #adf1f4; }
#ai-advantages.r30-stage .m15-lane > span { border-radius: 2px; background: #172d43; border-color: #3d5b74; }
#ai-advantages.r30-stage .m15-engine-task > span { background: #092943bf; border-color: #5b91b4; }
#ai-advantages.r30-stage .m15-home-outputs { position: relative; z-index: 1; padding: 16px 0; gap: 12px 20px; }
#ai-advantages.r30-stage .m15-home-benefits { padding: 20px 0; }
#ai-advantages.r30-stage .m15-home-apps { padding: 16px 0; }
#company-strength.r30-stage { background: #0b1729; padding-top: 48px; padding-bottom: 40px; border-top: 1px solid #293d55; }
#company-strength.r30-stage .network-heading { gap: 40px; }
#company-strength.r30-stage .network-heading h2 { font-size: clamp(30px, 3.2vw, 47px); line-height: 1.2; }
#company-strength.r30-stage .network-map { padding: 30px 24px; gap: 30px; border: 1px solid #2d455e; border-radius: 4px; background-image: radial-gradient(#89b6d013 .7px, transparent .7px); background-size: 16px 16px; }
#company-strength.r30-stage .network-map > :not(.r30-wires) { position: relative; z-index: 1; }
#company-strength.r30-stage .network-source { background: radial-gradient(circle at 35% 30%, #1e5b83, #0d2139 75%); border-color: #608fbd; box-shadow: 0 0 50px #216dac24; }
#company-strength.r30-stage .network-source::after { border: 1px dashed #7dd7e887; inset: -8px; }
#company-strength.r30-stage .network-source::before { content: ''; position: absolute; inset: -16px; border: 1px solid #41698b6b; border-radius: 50%; }
#company-strength.r30-stage .network-formats::before, #company-strength.r30-stage .network-formats::after, #company-strength.r30-stage .network-destinations::before { display: none; }
#company-strength.r30-stage .network-formats > div { border-radius: 3px; background: #12273e; }
#company-strength.r30-stage .network-gate { background: #0b192b; padding: 6px; }
#company-strength.r30-stage .network-gate > i { color: #9acbff; }
#company-strength.r30-stage .network-lane { border-radius: 4px; }
#company-strength.r30-stage .network-controls { margin-top: 20px; }
#company-strength.r30-stage .network-value { margin-top: 24px; padding-top: 20px; }
#company-strength.r30-stage .site-constellation span { border: 1px solid #576e9d66; }
/* Method becomes a single connected dark stage, not four oversized white tiles. */
#how-we-work.r30-stage { background: #f4f6f9; padding-top: 42px; padding-bottom: 38px; }
#how-we-work.r30-stage > header { gap: 30px; margin-bottom: 20px; padding-bottom: 35px; }
#how-we-work.r30-stage h2 { font-size: clamp(29px, 3.2vw, 44px); line-height: 1.18; margin-top: 10px; }
#how-we-work.r30-stage > header .r30-motion-toggle { color: #46617d; border-color: #b3c8dd; }
#how-we-work.r30-stage .validation-flow { position: relative; isolation: isolate; background: #0c1b2c; border: 1px solid #29435e; border-radius: 4px; padding: 26px; gap: 24px; }
#how-we-work.r30-stage .validation-flow > article { background: transparent; border: 0; border-radius: 0; box-shadow: none; color: white; padding: 8px 12px; min-width: 0; z-index: 1; }
#how-we-work.r30-stage .validation-flow > article:not(:last-of-type) { border-right: 1px solid #30455d; }
#how-we-work.r30-stage .validation-flow > article::after { display: none; }
#how-we-work.r30-stage .flow-number { color: #92bade; letter-spacing: .08em; font-size: 11px; }
#how-we-work.r30-stage .flow-illustration { background: radial-gradient(ellipse, #18395866, transparent 74%); height: 145px; margin: 16px 0 22px; }
#how-we-work.r30-stage .knowledge-visual > span { background: #152f49; color: #92c7ff; border-color: #6999c3; box-shadow: none; }
#how-we-work.r30-stage .knowledge-visual > b { background: #176cfa; border: 1px solid #76b8ff; border-radius: 8px; }
#how-we-work.r30-stage .version-visual > span { background: #122f4b; color: #98cdff; border-color: #5188b3; border-radius: 5px; }
#how-we-work.r30-stage .version-visual > span:first-child { background: #176cfa; color: #fff; }
#how-we-work.r30-stage .decision-visual > span { background: #122b43; color: #bcd9f0; border-color: #436783; border-radius: 3px; }
#how-we-work.r30-stage .decision-visual > span:first-child { background: #164c86; color: #d8eeff; border-color: #69b3f0; }
#how-we-work.r30-stage .scale-visual > span { color: #9ed6ff; background: #1c466a; border-color: #5285af; }
#how-we-work.r30-stage .validation-flow h3 { color: #f5f9ff; font-size: 22px; }
#how-we-work.r30-stage .validation-flow p { color: #b8cce1; font-size: 14px; }
#how-we-work.r30-stage .validation-flow small { color: #87a7c5; font-size: 12px; }
#how-we-work.r30-stage .validation-return { border: 0; border-bottom: 1px solid #bfd0df; border-radius: 0; margin: 0; padding: 17px 0; }
/* Continuous but bounded: pause on exit, background, user pause or reduced motion. */
.r30-stage .m15-lane > span, .r30-stage .m15-engine-task > span, .r30-stage .network-formats > div,
.r30-stage .version-visual > span, .r30-stage .decision-visual > span { animation: r30-panel-light 5s ease-in-out infinite; animation-delay: calc(var(--r30-step, 0) * -1s); }
.r30-stage .knowledge-visual > b, .r30-stage .network-source > svg { animation: r30-float 5s ease-in-out infinite; }
.r30-stage .scale-visual svg, .r30-stage .account-node svg, .r30-stage .site-constellation svg { animation: r30-signal 4s ease-in-out infinite; animation-delay: calc(var(--r30-step, 0) * -.19s); }
.r30-stage .m15-home-outputs > b { animation: r30-type-light 6s ease-in-out infinite; animation-delay: calc(var(--r30-step, 0) * -1s); }
.r30-stage *, .r30-stage *::before, .r30-stage *::after { animation-play-state: paused !important; }
.r30-stage[data-r30-playing] *, .r30-stage[data-r30-playing] *::before, .r30-stage[data-r30-playing] *::after { animation-play-state: running !important; }
@keyframes r30-current { to { stroke-dashoffset: -336; } }
@keyframes r30-spin { to { transform: rotate(360deg); } }
@keyframes r30-float { 50% { transform: translateY(-7px); filter: drop-shadow(0 7px 14px #2987d755); } }
@keyframes r30-panel-light { 0%, 65%, 100% { box-shadow: inset 0 0 0 transparent; } 30% { border-color: #8ee8ec; box-shadow: inset 0 0 24px #218eb12a, 0 0 16px #178ddd1c; } }
@keyframes r30-signal { 40% { transform: scale(1.18); color: #d3fcff; filter: drop-shadow(0 0 5px #67daffb3); } }
@keyframes r30-type-light { 35% { color: #8de9ec; text-shadow: 0 0 18px #51bee366; } }
@media (hover:hover) and (prefers-reduced-motion:no-preference) {
  .r30-case-card, .r30-report-card { transition: border-color .3s, box-shadow .3s; }
  .r30-case-card:hover, .r30-report-card:hover { border-color: #719abc; box-shadow: 0 8px 24px #233e6410; }
  .r30-report-samples img, .r30-report-strip figure img { transition: transform .3s; }
  .r30-report-samples a:hover img, .r30-report-strip figure a:hover img { transform: translateY(-3px); }
}
@media (max-width:1100px) {
  .r30-report-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  #company-strength.r30-stage .network-map { padding: 25px 18px; gap: 25px; }
  #how-we-work.r30-stage .validation-flow { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  #how-we-work.r30-stage .validation-flow > article:nth-of-type(2) { border-right: 0; }
  #how-we-work.r30-stage .validation-flow > article:nth-of-type(-n+2) { border-bottom: 1px solid #30455d; padding-bottom: 24px; }
}
@media (max-width:850px) {
  #selected.r30-selected > header { align-items: flex-start; flex-direction: column; gap: 9px; }
  #selected.r30-selected > header > p { max-width: none; }
  #strategy-report.r30-report-strip { grid-template-columns: 1fr 120px 120px; gap: 16px; }
  .r30-report-strip > a { grid-column: 1 / -1; }
  #ai-advantages.r30-stage .m15-home-system { gap: 26px; }
  #how-we-work.r30-stage > header { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 18px 28px; }
  #how-we-work.r30-stage > header > div { flex: 1 1 270px; }
  #how-we-work.r30-stage > header > p { flex: 1 1 260px; }
}
@media (max-width:600px) {
  #selected.r30-selected { padding-top: 24px; }
  #strategy-report.r30-report-strip { grid-template-columns: 1fr 1fr; gap: 18px; }
  .r30-report-strip > div, .r30-report-strip > a { grid-column: 1 / -1; }
  .r30-report-strip figure { display: flex; flex-direction: column; align-items: flex-start; }
  .r30-report-grid { grid-template-columns: 1fr; }
  #how-we-work.r30-stage .validation-flow { grid-template-columns: 1fr; padding: 20px; gap: 24px; }
  #how-we-work.r30-stage .validation-flow > article:not(:last-of-type) { border-right: 0; border-bottom: 1px solid #30455d; padding-bottom: 24px; }
  #company-strength.r30-stage .network-map { padding: 24px 14px; }
  #ai-advantages.r30-stage .m15-home-system > div:not(.m15-home-outputs) { padding: 22px; }
  #ai-advantages.r30-stage .m15-home-outputs small { width: 100%; margin-left: 0; }
}
@media (prefers-reduced-motion:reduce) {
  .r30-stage *, .r30-stage *::before, .r30-stage *::after { animation: none !important; transition: none !important; }
  .r30-wire-live { stroke-dasharray: none; opacity: .5; }
}
