/* Responsive hero, image presentation and pointer interactions. */
.render-definitions { position:absolute; width:0; height:0; overflow:hidden; pointer-events:none; }
.brand-crop img,.footer-main .brand-crop img,.board-logo-crop img,.hero-logo {
 mix-blend-mode:normal;
 filter:url("#bm-logo-cutout") drop-shadow(0 6px 12px #0e73d828);
}
.hero.hero-next {
 padding-top:12px;
 background:radial-gradient(ellipse at 80% 35%,#145dae38,transparent 58%),radial-gradient(ellipse at 0 100%,#12307732,transparent 56%),#050b17;
}
.hero-next::before { content:""; position:absolute; width:62%; height:80%; top:-15%; right:-13%; background:conic-gradient(from 190deg at 50% 50%,transparent,#1678f024,transparent 30%); animation:hero-beam 15s ease-in-out infinite alternate; pointer-events:none; }
.hero-next .ambient-grid { background-size:64px 64px; opacity:.8; mask-image:radial-gradient(ellipse at 65% 50%,black,transparent 78%); }
.hero-next .hero-layout { grid-template-columns:minmax(0,.96fr) minmax(0,1.04fr); gap:clamp(24px,4vw,60px); padding-block:34px; align-items:center; }
.hero-next .hero-copy { padding:0; max-width:none; }
.hero-next .hero-copy > .eyebrow { padding:8px 12px; border:1px solid #5ab1f13b; background:linear-gradient(90deg,#1946744d,#13284529); border-radius:100px; font-size:.75rem; letter-spacing:.035em; line-height:1.6; }
.hero-next h1 { font-size:clamp(2.8rem,4.2vw,4.25rem); line-height:1.11; margin:24px 0; letter-spacing:-.035em; }
.hero-next h1 > span { background-image:linear-gradient(105deg,#c2efff 0%,#5ad5ff 35%,#3887ff 70%,#9beeff 100%); background-size:200% 100%; animation:title-spectrum 12s ease-in-out infinite alternate; }
.hero-next .hero-copy > p { max-width:560px; font-size:1.0625rem; line-height:1.8; }
.hero-next .hero-actions { margin-top:28px; gap:18px; }
.hero-next .hero-footnote { gap:18px; flex-wrap:wrap; margin-top:24px; font-size:.875rem; }
.hero-next .hero-bottom { margin-top:8px; }
.hero-showcase { min-width:0; perspective:1000px; isolation:isolate; --pointer-x:50%; --pointer-y:50%; --tilt-x:0deg; --tilt-y:0deg; }
.showcase-aura { position:absolute; inset:-9%; z-index:-1; pointer-events:none; background:radial-gradient(ellipse at var(--pointer-x) var(--pointer-y),#2588ff38,transparent 65%); animation:halo-breathe 8s ease-in-out infinite; }
.hero-console { position:relative; overflow:hidden; padding:20px; border:1px solid #609dd563; border-radius:30px; background:linear-gradient(140deg,#183456c4,#0a172be8 58%,#112c4ced); box-shadow:0 36px 65px #0005,0 0 55px #0c6afb12,inset 0 1px 0 #c4e4ff21; transform:rotateX(var(--tilt-x)) rotateY(var(--tilt-y)); transition:transform .28s ease,border-color .28s ease; }
.hero-console::after { content:""; position:absolute; left:0; top:0; width:50%; height:1px; background:linear-gradient(90deg,transparent,#b2e5ff,transparent); animation:console-border 7s ease-in-out infinite; pointer-events:none; }
.console-topline { display:flex; flex-wrap:wrap; gap:9px 16px; justify-content:space-between; align-items:center; padding:0 0 17px; margin-bottom:17px; border-bottom:1px solid #6c9cd02b; font-size:.75rem; color:#bad8f6; letter-spacing:.05em; }
.console-topline > span:first-child { display:inline-flex; gap:8px; align-items:center; font-weight:600; }
.console-topline .i { width:17px; height:17px; color:#8adeff; }
.console-coordinate { font-size:.75rem; color:#849fc4; letter-spacing:.025em; }
.hero-canvas { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); grid-template-rows:auto auto; gap:17px; }
.hero-canvas > * { min-width:0; }
.hero-art-panel { grid-column:1; grid-row:1/3; border:1px solid #4b79a94f; border-radius:21px; padding:14px; background:linear-gradient(160deg,#173557,#0b1c33); display:flex; flex-direction:column; gap:12px; justify-content:center; }
.hero-panel-title { display:flex; gap:7px; align-items:center; color:#cbe5ff; font-size:.8125rem; font-weight:550; line-height:1.45; }
.hero-panel-title .i { width:17px; height:17px; color:#88dfff; flex-shrink:0; }
.hero-art-stack { position:relative; width:100%; max-width:260px; aspect-ratio:4/5; margin:auto; overflow:hidden; isolation:isolate; border-radius:13px; border:1px solid #88baf04d; background:#091c33; box-shadow:0 10px 28px #0004; }
.hero-art-stack > img { position:absolute; inset:0; width:100%; height:100%; object-fit:contain; display:block; }
#hero-art-incoming { opacity:0; pointer-events:none; }
.hero-art-stack.is-switching #hero-art-current { animation:bm-art-exit .76s cubic-bezier(.22,.7,.25,1) both; }
.hero-art-stack.is-switching #hero-art-incoming { animation:bm-art-enter .76s cubic-bezier(.22,.7,.25,1) both; }
.hero-art-light { position:absolute; inset:0; z-index:2; opacity:0; pointer-events:none; background:linear-gradient(115deg,transparent 32%,#b1ecff22 49%,transparent 67%); }
.hero-art-stack.is-switching .hero-art-light { animation:bm-art-sheen .85s ease-out both; }
.hero-art-pagination { position:absolute; inset:auto 9px 5px; display:flex; gap:4px; z-index:3; pointer-events:none; }
.hero-art-pagination i { flex:1; height:3px; overflow:hidden; border-radius:5px; background:#89bee44d; }
.hero-art-pagination i::after { content:""; display:block; width:100%; height:100%; background:#79dcff; transform:scaleX(0); transform-origin:left; }
.hero-art-pagination i.is-active::after { transform:scaleX(var(--art-progress,0)); transition:transform .2s linear; }
.hero-art-caption { justify-content:space-between; min-height:32px; }
.hero-art-caption > span { min-width:0; }
.hero-art-next { flex-shrink:0; display:inline-flex; align-items:center; gap:5px; min-height:32px; padding:4px 6px; border:1px solid #76b8ee4f; border-radius:9px; background:#163b60; color:#d8efff; font:inherit; font-size:.625rem; font-variant-numeric:tabular-nums; cursor:pointer; transition:background .2s,border-color .2s; }
.hero-art-next[hidden] { display:none; }
.hero-art-next:hover { background:#22568a; border-color:#7edcff; }
.hero-art-next:focus-visible { outline:2px solid #8ce7ff; outline-offset:3px; }
.hero-panel-note { display:flex; gap:6px; align-items:center; color:#b6d5ee; font-size:.75rem; line-height:1.5; }
.hero-panel-note .i { width:15px; height:15px; color:#87e7d5; }
.hero-core-panel { position:relative; grid-column:2; grid-row:1; display:flex; flex-direction:column; align-items:center; justify-content:center; padding:27px 5px 22px; min-height:185px; isolation:isolate; }
.hero-logo { width:min(100%,255px); height:auto; object-fit:contain; animation:brand-float 7s ease-in-out infinite; }
.hero-core-panel > span { display:block; margin-top:12px; color:#8bbcdf; font-size:.75rem; line-height:1.6; text-align:center; letter-spacing:.045em; }
.core-energy { position:absolute; inset:0; z-index:-1; pointer-events:none; overflow:hidden; }
.core-energy::before { content:""; position:absolute; inset:0; background:radial-gradient(ellipse,#2b91ff4d,transparent 68%); animation:halo-breathe 7s ease-in-out infinite; }
.core-energy i { position:absolute; left:50%; top:50%; width:88%; aspect-ratio:1; border:1px solid #6cc6ff2c; border-radius:50%; transform:translate(-50%,-50%); }
.core-energy i:nth-child(2) { width:68%; border-style:dashed; border-color:#65caff42; animation:energy-spin 30s linear infinite; }
.core-energy i:nth-child(3) { width:110%; border-color:#358cf71f; }
.hero-code-panel { grid-column:2; grid-row:2; align-self:end; border:1px solid #39618b80; border-radius:18px; padding:16px; background:#060f20c2; }
.hero-code-panel code { display:grid; gap:8px; font:400 .75rem/1.6 ui-monospace,SFMono-Regular,Consolas,monospace; margin-top:15px; color:#90b3e5; overflow-wrap:anywhere; }
.hero-code-panel code > span { display:block; animation:hero-code-type 9s ease-in-out infinite; }
.hero-code-panel code > span:nth-child(2) { animation-delay:.2s; }.hero-code-panel code > span:nth-child(3) { animation-delay:.4s; }.hero-code-panel code > span:nth-child(4) { animation-delay:.6s; }
.hero-code-panel code b { color:#98eadf; font-weight:400; }
.hero-code-progress { height:3px; margin-top:16px; overflow:hidden; background:#1d3657; border-radius:3px; }
.hero-code-progress i { display:block; width:100%; height:100%; background:linear-gradient(90deg,#1f69f8,#6ae0ff); transform-origin:left; animation:layer-progress 9s ease-in-out infinite; }
.hero-chain { list-style:none; padding:0; margin:20px 0 0; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; }
.hero-chain li { position:relative; min-width:0; border:1px solid #4774a263; background:#0b2038; border-radius:14px; padding:12px 7px; display:flex; align-items:center; flex-direction:column; gap:8px; text-align:center; animation:hero-chain-glow 8s ease-in-out infinite; }
.hero-chain li:nth-child(2) { animation-delay:1s; }.hero-chain li:nth-child(3) { animation-delay:2s; }.hero-chain li:nth-child(4) { animation-delay:3s; }
.hero-chain li .i { width:19px; height:19px; color:#8be5ff; }
.hero-chain strong { font-size:.8125rem; line-height:1.4; font-weight:550; }
.hero-chain li:not(:last-child)::after { content:""; position:absolute; width:10px; height:1px; background:#6396bf; top:45%; right:-11px; }
.console-foot { padding-top:17px; display:flex; gap:15px; justify-content:space-between; align-items:center; color:#86a7cb; font-size:.75rem; letter-spacing:.045em; }
.console-wave { display:flex; align-items:center; gap:4px; height:20px; flex-shrink:0; }
.console-wave i { width:3px; height:8px; background:#5ed4ff; border-radius:3px; animation:signal-wave 2s ease-in-out infinite; }
.console-wave i:nth-child(2n) { animation-delay:-.3s; }.console-wave i:nth-child(3n) { animation-delay:-.7s; }.console-wave i:nth-child(4n) { animation-delay:-1.1s; }
/* Pointer highlights stay out of hit testing; touch retains native scrolling. */
[data-pointer-surface] { position:relative; --pointer-x:50%; --pointer-y:50%; transition:box-shadow .25s ease,border-color .25s ease,transform .25s ease; }
[data-pointer-surface]::before { content:""; position:absolute; inset:0; border-radius:inherit; z-index:5; pointer-events:none; background:radial-gradient(420px circle at var(--pointer-x) var(--pointer-y),#78bdff20,transparent 65%); opacity:0; transition:opacity .25s ease; }
.hero-showcase::before { display:none; }
@media (hover:hover) and (pointer:fine) {
 [data-pointer-surface]:hover::before,[data-pointer-surface]:focus-within::before { opacity:1; }
 .service-card:hover,.operation-card:hover,.project-card:hover,.product-visual:hover,.art-gallery-card:hover,.method-card:hover { transform:translateY(-5px); border-color:#76bcffad; box-shadow:0 18px 44px #0005,0 0 0 1px #408bce1f; }
 .hero-showcase:hover .hero-console { border-color:#8bceffb3; }
 .button.primary:hover { transform:translateY(-3px); box-shadow:0 0 0 5px #3b8dff15,0 15px 40px #117aff65; }
 .button.primary:hover .i,.text-button:hover .i,.circle-link:hover .i { transform:translateX(3px); }
 .system-screen-link:hover .system-expand-hint,.art-gallery-image:hover .art-expand-hint { color:#e4faff; background:#194672; }
}
.button .i,.text-button .i,.circle-link .i { transition:transform .22s ease; }
.system-screen-link { display:flex; position:relative; flex-direction:column; width:100%; min-width:0; color:#a4d5f5; background:#071427; overflow:hidden; isolation:isolate; }
.product-visual:not(.social-product) > .system-screen-link > img { width:100%; height:auto; aspect-ratio:16/9; object-fit:contain; display:block; }
.bmflow-product > .system-screen-link > img { background:#f5f7fa; }
.system-screen-sheen { position:absolute; inset:0; background:linear-gradient(118deg,transparent 35%,#bcecff15 50%,transparent 65%); pointer-events:none; z-index:2; animation:system-sheen 12s ease-in-out infinite; }
.bmflow-product .system-screen-sheen { animation-delay:-4s; }.social-product .system-screen-sheen { animation-delay:-8s; }
.system-expand-hint,.art-expand-hint { position:relative; display:flex; align-items:center; justify-content:center; gap:7px; min-height:39px; padding:9px 12px; font-size:.8125rem; font-weight:500; color:#a4d8f8; background:#102943; border-top:1px solid #4d739844; transition:background .22s ease,color .22s ease; }
.system-expand-hint .i,.art-expand-hint .i { width:16px; height:16px; }
.system-screen-link:focus-visible,.art-gallery-image:focus-visible { outline:3px solid #8cddff; outline-offset:-3px; }
.social-product-screen .system-screen-link { max-width:360px; border-radius:20px; box-shadow:0 15px 35px #0004; border:1px solid #38658c77; }
.social-product-screen .system-screen-link > img { max-width:none; width:100%; height:auto; aspect-ratio:auto; border-radius:0; box-shadow:none; }
.product-visual .window-bar { display:flex; flex-wrap:wrap; gap:9px 12px; line-height:1.55; }
.product-visual .window-bar .soft-chip { margin-left:auto; font-size:.75rem; white-space:normal; max-width:100%; }
.product-visual figcaption { flex-wrap:wrap; }
.art-gallery-image { display:block; }
.art-gallery .art-gallery-image > img { width:100%; height:auto; aspect-ratio:auto; object-fit:contain; transform:none; animation:none; }
.art-gallery .art-gallery-image { padding:0; border-radius:18px; overflow:hidden; }
.art-gallery-image .gallery-index { pointer-events:none; }
.art-expand-hint { border-radius:0; }
.art-gallery-card figcaption { flex-wrap:wrap; }
/* Intrinsic tracks keep text in normal flow at narrow widths and browser zoom. */
h1,h2,h3,h4,p,small,strong,a,code { overflow-wrap:anywhere; }
.shell { width:min(calc(100% - clamp(28px,4vw,64px)),var(--shell)); }
.header-inner,.section-heading,.hero-layout,.studio-layout,.operation-grid,.development-panel,.development-screen,.project-grid,.service-grid,.product-visuals,.social-product-layout,.about-layout,.method-grid,.footer-main,.footer-bottom { min-width:0; }
.header-inner > *,.hero-layout > *,.studio-layout > *,.development-panel > *,.development-screen > *,.social-product-layout > *,.about-layout > * { min-width:0; }
.section-heading > p,.hero-copy > p,.studio-copy > p,.development-copy > p { width:100%; }
.button { max-width:100%; text-align:center; white-space:normal; }
.mobile-nav { max-height:calc(100svh - 84px); overflow-y:auto; overscroll-behavior:contain; }
.desktop-nav { flex-wrap:wrap; }
.hero-actions,.hero-footnote,.studio-bar,.operation-header,.campaign-top,.campaign-pipeline,.conversation-title,.assistant-handoff,.conversation-compose,.flow-node,.social-product-flow,.footer-main nav,.footer-bottom { flex-wrap:wrap; }
.creation-steps > div,.campaign-preview > *,.social-features li > *,.eco-node { min-width:0; }
.brief-terminal code,.dev-code code,.dev-line { white-space:pre-wrap; overflow-wrap:anywhere; }
.dev-code code { overflow:visible; }
.development-screen .dev-code { display:block; }
.studio-category,.format-chip { display:inline-flex; max-width:100%; }
.studio-bar > span { min-width:0; }
.creation-steps { grid-template-columns:repeat(3,minmax(0,1fr)); }
.creation-steps strong { font-size:.8125rem; }
.operation-card > p { font-size:1rem; }
.message { font-size:.875rem; }
.campaign-pipeline { gap:8px; }
.campaign-pipeline > span { font-size:.75rem; }
.conversation-messages { min-height:0; }
.conversation-compose span { min-width:0; }
.art-gallery { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); overflow:visible; }
.method-card h3 { hyphens:none; overflow-wrap:normal; }
.board-row > span { flex-wrap:wrap; text-align:center; }
.footer-bottom { display:flex; gap:10px 25px; justify-content:space-between; }
.contact-note { display:block; overflow-wrap:anywhere; }
@keyframes hero-beam { 0%{transform:rotate(-10deg);opacity:.65} 100%{transform:rotate(13deg);opacity:1} }
@keyframes title-spectrum { from{background-position:0 50%} to{background-position:100% 50%} }
@keyframes console-border { 0%{transform:translateX(-80%)} 75%,100%{transform:translateX(220%)} }
@keyframes bm-art-exit { from{transform:translateX(0);opacity:1} to{transform:translateX(-105%);opacity:.3} }
@keyframes bm-art-enter { from{transform:translateX(105%);opacity:.4} to{transform:translateX(0);opacity:1} }
@keyframes bm-art-sheen { 0%{transform:translateX(-100%);opacity:0} 35%{opacity:1} 100%{transform:translateX(100%);opacity:0} }
@keyframes energy-spin { from{transform:translate(-50%,-50%) rotate(0)} to{transform:translate(-50%,-50%) rotate(360deg)} }
@keyframes hero-code-type { 0%{clip-path:inset(0 100% 0 0);opacity:.5} 24%,100%{clip-path:inset(0);opacity:1} }
@keyframes hero-chain-glow { 0%,55%,100%{border-color:#4774a263;box-shadow:0 0 0 #2b9eff00} 20%,35%{border-color:#7bd5eead;box-shadow:inset 0 0 22px #2b9eff17} }
@keyframes signal-wave { 0%,100%{transform:scaleY(.6)} 50%{transform:scaleY(2.2)} }
@keyframes system-sheen { 0%,25%{transform:translateX(-110%)} 65%,100%{transform:translateX(110%)} }
@media (max-width:1180px) {
 .hero-next .hero-layout { gap:30px; grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr); padding-block:30px; }
 .hero-next h1 { font-size:clamp(2.6rem,4.5vw,3.3rem); }
 .hero-next .hero-copy > .eyebrow { font-size:.75rem; padding:7px 10px; }
 .hero-console { padding:17px; border-radius:26px; }
 .console-topline { gap:8px; }.console-coordinate { font-size:.75rem; }
 .hero-canvas { gap:13px; }.hero-art-panel { padding:11px; border-radius:17px; }
 .hero-core-panel { min-height:160px; padding:15px 0; }.hero-core-panel > span { font-size:.75rem; }
 .hero-code-panel { padding:12px; border-radius:15px; }.hero-panel-title { font-size:.75rem; }
 .hero-chain { gap:8px; }.hero-chain li { padding:10px 5px; }.hero-chain strong { font-size:.75rem; }
 .hero-chain li:not(:last-child)::after { width:8px;right:-9px; }
 .hero-next .hero-footnote { font-size:.8125rem; gap:10px; }
 .development-panel { grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); }
 .development-screen { grid-template-columns:minmax(0,1fr); }
 .development-screen .dev-code { border-radius:16px 16px 0 0; }
 .product-visuals { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .product-visual .window-bar .soft-chip { margin-left:0; }
}
@media (max-width:960px) {
 .hero-next .hero-layout { grid-template-columns:minmax(0,1fr); padding-block:28px; gap:35px; }
 .hero-next .hero-copy { max-width:760px; }
 .hero-next h1 { font-size:clamp(3rem,6.8vw,4.2rem); max-width:780px; }
 .hero-next .hero-copy > p { max-width:650px; font-size:1.0625rem; }
 .hero-next .hero-actions .button { width:auto; font-size:1rem; }.hero-next .hero-actions .text-button { width:auto; font-size:1rem; }
 .hero-showcase { width:100%; max-width:760px; justify-self:center; }
 .hero-console { padding:23px; }.hero-canvas { gap:22px; }
 .hero-art-panel { padding:16px; }.hero-panel-title { font-size:.875rem; }
 .hero-core-panel { min-height:190px; }.hero-logo { max-width:280px; }
 .hero-code-panel { padding:19px; }.hero-code-panel code { font-size:.875rem; }
 .hero-chain { gap:12px; }.hero-chain li { padding:15px 9px; }.hero-chain strong { font-size:.875rem; }
 .hero-chain li:not(:last-child)::after { width:12px;right:-13px; }
 .hero-panel-note { font-size:.8125rem; }
 .section-heading { flex-direction:column; align-items:flex-start; }.section-heading > p { max-width:620px; }
 .operation-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .campaign-preview { grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:12px; padding:13px; }
 .campaign-preview strong { font-size:1.05rem; }
 .conversation-title { gap:8px; }.conversation-title > .i { margin-left:auto; }
 .assistant-handoff { font-size:.75rem; }
 .project-grid.projects-three { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .projects-three .project-card:last-child { width:calc(50% - 10px); grid-column:1/-1; justify-self:center; }
 .art-gallery { gap:15px; }
 .art-gallery-card figcaption { padding:15px; font-size:.875rem; }
 .social-product-layout { grid-template-columns:minmax(0,1fr) minmax(230px,.85fr); padding:26px; gap:24px; }
 .social-features { margin:22px 0; }.social-features strong { font-size:.9375rem; }
 .social-product-flow { gap:7px; font-size:.75rem; }
 .social-product-flow > span:not(.mini-flow) { padding:6px 8px; }
 .social-product-flow .mini-flow { gap:5px; }
}
@media (max-width:760px) {
 .studio-layout,.development-panel,.social-product-layout { grid-template-columns:minmax(0,1fr); }
 .studio-bar { gap:9px; }.studio-category { font-size:.75rem; }
 .development-screen { grid-template-columns:minmax(0,1fr); }
 .development-copy > p { max-width:none; }
 .product-visuals { grid-template-columns:minmax(0,1fr); }
 .product-visual .window-bar { padding:14px 17px; }
 .product-visual .window-bar .soft-chip { margin-left:auto; }
 .social-product-copy h3 { font-size:2.15rem; }
 .social-product-flow { font-size:.875rem;gap:10px; }
 .social-product-screen { width:100%; }
 .social-product-screen .system-screen-link { max-width:390px; }
 .art-gallery { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .art-gallery-card:last-child { grid-column:1/-1; width:calc(50% - 7.5px); justify-self:center; }
 .art-gallery-card figcaption b,.art-gallery-card figcaption span { display:block; }
}
@media (max-width:650px) {
 .hero.hero-next { padding-top:6px; }
 .hero-next .hero-layout { padding-block:23px;gap:26px; }
 .hero-next .hero-copy > .eyebrow { font-size:.75rem; gap:7px; padding:8px 11px; border-radius:14px; }
 .hero-next h1 { font-size:clamp(2.35rem,9.1vw,3.3rem); letter-spacing:-.035em; margin:21px 0; }
 .hero-next .hero-copy > p { font-size:1rem;line-height:1.8; }
 .hero-next .hero-actions { gap:12px; margin-top:23px; }.hero-next .hero-actions .button,.hero-next .hero-actions .text-button { width:100%;font-size:1rem;justify-content:center; }
 .hero-next .hero-footnote { justify-content:center; gap:10px 17px; font-size:.8125rem; }
 .hero-next .hero-bottom { padding-top:13px; margin-top:0;gap:15px; }.hero-next .hero-bottom > span { font-size:.75rem;letter-spacing:.04em;max-width:none;flex:1; }
 .hero-next .hero-bottom > a { flex-shrink:0; }
 .hero-console { padding:17px; border-radius:24px; }
 .console-topline { font-size:.75rem; padding-bottom:13px;margin-bottom:15px; }.console-coordinate { font-size:.75rem; }
 .hero-canvas { gap:13px; }.hero-art-panel { padding:12px;gap:10px; }.hero-panel-title { font-size:.8125rem; }
 .hero-code-panel { padding:13px; }.hero-code-panel code { font-size:.75rem; gap:7px; }
 .hero-chain { gap:8px; margin-top:16px; }.hero-chain strong { font-size:.75rem; }.hero-chain li { padding:12px 6px; }
 .hero-chain li:not(:last-child)::after { width:8px;right:-9px; }
 .console-foot { padding-top:14px; font-size:.75rem;letter-spacing:.015em; }
 .section-heading h2 { font-size:clamp(2rem,7.4vw,2.5rem); }
 .operation-grid { grid-template-columns:minmax(0,1fr); }.automation-card { display:flex;grid-column:auto; }
 .operation-header .eyebrow { font-size:.8125rem; }.operation-card h3 { font-size:1.9rem; }
 .campaign-preview { padding:16px;gap:15px; }.campaign-preview strong { font-size:1.2rem; }
 .message { font-size:.9375rem; }.conversation-messages { min-height:0; }
 .flow-node strong { font-size:.9375rem; }.flow-node small { font-size:.8125rem; }
 .service-grid { grid-template-columns:minmax(0,1fr); }.service-card { padding:23px; }
 .project-grid.projects-three,.art-gallery { grid-template-columns:minmax(0,1fr); display:grid;gap:19px; overflow:visible; }
 .projects-three .project-card:last-child,.art-gallery-card:last-child { grid-column:auto; width:100%; }
 .art-gallery-card { width:100%; min-width:0; }
 .art-gallery-card figcaption { padding:17px; }.art-gallery-card figcaption b { font-size:1rem; }.art-gallery-card figcaption span { font-size:.875rem; }
 .social-product-layout { padding:24px 19px; }
 .social-features li { grid-template-columns:36px minmax(0,1fr); gap:11px; }
 .social-product-flow { gap:8px;font-size:.8125rem; }.social-product-flow .mini-flow { gap:5px; }
 .social-product-flow > span:not(.mini-flow) { padding:6px 8px; }
 .eco-network { grid-template-columns:repeat(2,minmax(0,1fr));gap:23px 12px; }.eco-node { padding-inline:2px; }
 .eco-node h3 { font-size:.9375rem; }.eco-node p { font-size:.875rem; }
 .about h2 { font-size:2.3rem; }.board-row > span { font-size:.8125rem; }
 .contact-card { padding:35px 21px; }.contact-card h2 { font-size:clamp(2rem,7.7vw,2.6rem); }
 .contact-card .eyebrow { font-size:.75rem; }.contact-card .button { width:100%;min-width:0;font-size:1rem; }
 .footer-main nav { display:flex;flex-wrap:wrap;gap:12px 24px; }
 .footer-bottom { display:flex;flex-direction:column;gap:6px;align-items:flex-start; }
}
@media (max-width:540px) {
 .hero-canvas { grid-template-columns:minmax(0,1fr) minmax(0,1fr); }
 .hero-core-panel { grid-column:1/-1;grid-row:1;padding:18px 15px 22px; min-height:205px; }
 .hero-logo { width:min(100%,235px); }
 .hero-art-panel { grid-column:1;grid-row:2; }
 .hero-code-panel { grid-column:2;grid-row:2;align-self:stretch; display:flex;flex-direction:column;justify-content:center; }
 .hero-panel-title { flex-wrap:wrap; }
 .hero-code-panel code { margin-top:13px; font-size:.75rem; line-height:1.8; }
 .hero-panel-note { font-size:.75rem; align-items:flex-start; }
 .hero-chain { grid-template-columns:repeat(2,minmax(0,1fr));gap:10px; }
 .hero-chain li { flex-direction:row;justify-content:center;gap:8px;padding:13px 8px; }.hero-chain strong { font-size:.8125rem; }
 .hero-chain li::after { display:none; }
 .method-grid { grid-template-columns:minmax(0,1fr); }.method-card h3 { font-size:1.25rem; }.method-card p { font-size:1rem; }
 .creation-steps strong { font-size:.75rem; }
 .product-visual .window-bar .soft-chip { margin-left:0; }
 .contact-note { font-size:.8125rem; }
}
@media (max-width:359px) {
 .hero-next h1 { font-size:2.18rem; }.hero-next .hero-copy > .eyebrow { font-size:.75rem; }
 .hero-console { padding:14px; }.hero-canvas { grid-template-columns:minmax(0,1fr); gap:15px; }
 .hero-core-panel,.hero-art-panel,.hero-code-panel { grid-column:1;grid-row:auto; }
 .hero-core-panel { min-height:190px; }.hero-art-stack { max-width:235px; }
 .hero-panel-title { font-size:.875rem; }.hero-panel-note { font-size:.8125rem; }
 .hero-code-panel code { font-size:.8125rem; }.hero-chain strong { font-size:.75rem; }
 .brief-terminal code { font-size:.75rem; }
 .social-product-flow { gap:6px; font-size:.75rem; }
 .social-product-flow .mini-flow { gap:4px; }
 .board-row { gap:7px; }.board-row > span { padding:10px 7px; }
}
@media (hover:none), (pointer:coarse) {
 .hero-console { transform:none; }
 .system-screen-link:active .system-expand-hint,.art-gallery-image:active .art-expand-hint { background:#20507d;color:white; }
}
@media (prefers-reduced-motion:reduce) {
 .hero-console { transform:none; }
 .hero-code-panel code > span { clip-path:none;opacity:1; }
 .hero-next h1 > span { background-position:0 50%; }
 .hero-showcase .hero-console,.service-card:hover,.operation-card:hover,.project-card:hover,.product-visual:hover,.art-gallery-card:hover,.method-card:hover { transform:none; }
 .system-screen-sheen,.hero-art-light { display:none; }
}

/* Live signal layer: turns the hero into a clear visual model of the BM process. */
.site-scroll-progress { position:fixed; z-index:80; inset:0 0 auto; height:2px; background:#0d1c31; pointer-events:none; }
.site-scroll-progress i { display:block; width:var(--progress,0%); height:100%; transform-origin:left; background:linear-gradient(90deg,#1d6fff,#65e3ff 70%,#d8fbff); box-shadow:0 0 13px #38bfff; transition:width .16s ease-out; }
.hero-console { isolation:isolate; }
.hero-console::before { content:""; position:absolute; inset:0; z-index:-1; pointer-events:none; opacity:.18; background-image:linear-gradient(#a6d9ff12 1px,transparent 1px),linear-gradient(90deg,#a6d9ff0d 1px,transparent 1px); background-size:38px 38px; mask-image:linear-gradient(115deg,transparent 5%,black 44%,transparent 96%); animation:console-grid-drift 22s linear infinite; }
.hero-signalbar { display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; gap:12px; min-height:30px; padding:0 0 13px; color:#90adce; font-size:.6875rem; letter-spacing:.09em; line-height:1.45; }
.signal-status { display:inline-flex; align-items:center; gap:7px; white-space:nowrap; color:#a9dbf7; font-weight:650; }
.signal-status i { width:6px; height:6px; border-radius:50%; background:#6df2d0; box-shadow:0 0 0 4px #4ce5c31c,0 0 14px #6df2d0; animation:signal-blink 1.8s ease-in-out infinite; }
.signal-event { min-width:0; justify-self:center; overflow:hidden; color:#80d9ff; font-size:.65625rem; text-align:center; text-overflow:ellipsis; white-space:nowrap; }
.signal-event.signal-swap { animation:signal-swap .55s ease both; }
.signal-clock { color:#6f8db4; font:500 .6875rem/1.4 ui-monospace,SFMono-Regular,Consolas,monospace; letter-spacing:.08em; white-space:nowrap; }
.hero-data-rail { position:relative; display:flex; align-items:center; gap:0; height:2px; margin:-3px 0 17px; overflow:visible; background:linear-gradient(90deg,transparent,#3a6d9e 12%,#315b8b 88%,transparent); }
.hero-data-rail::before { content:""; position:absolute; inset:-3px 0; background:linear-gradient(90deg,transparent,#84e6ff,transparent); opacity:.8; transform:translateX(-100%); animation:data-rail-scan 5s ease-in-out infinite; }
.hero-data-rail i { position:relative; z-index:1; display:block; width:5px; height:5px; margin-left:17%; border-radius:50%; background:#68ddff; box-shadow:0 0 12px #49caff; animation:data-node-pulse 3.2s ease-in-out infinite; }
.hero-data-rail i + i { margin-left:17%; animation-delay:-.65s; }.hero-data-rail i + i + i { animation-delay:-1.3s; }.hero-data-rail i + i + i + i { animation-delay:-1.95s; }.hero-data-rail i + i + i + i + i { animation-delay:-2.6s; }
.hero-readouts { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:9px; margin-top:16px; }
.hero-readout { min-width:0; padding:10px 11px 9px; border:1px solid #4674a64d; border-radius:13px; background:linear-gradient(135deg,#102b49c9,#091b31d9); box-shadow:inset 0 1px 0 #b5e4ff12; }
.hero-readout > span { display:block; overflow:hidden; color:#7194bb; font-size:.59375rem; letter-spacing:.09em; line-height:1.4; text-overflow:ellipsis; white-space:nowrap; }
.hero-readout strong { display:block; margin-top:3px; color:#d4efff; font-size:.875rem; line-height:1.35; font-weight:550; }
.hero-readout > i { display:block; position:relative; height:2px; margin-top:9px; overflow:hidden; border-radius:2px; background:#1d3d60; }
.hero-readout > i::after { content:""; position:absolute; inset:0; width:42%; background:linear-gradient(90deg,#327eff,#7ceaff); transform-origin:left; animation:readout-flow 4.8s cubic-bezier(.45,.05,.55,.95) infinite; }
.hero-readout:nth-child(2) > i::after { animation-delay:-1.6s; }.hero-readout:nth-child(3) > i::after { animation-delay:-3.2s; }
@media (max-width:650px) {
 .hero-signalbar { gap:8px; padding-bottom:11px; font-size:.625rem; }
 .signal-event { font-size:.59375rem; }
 .signal-clock { font-size:.625rem; }
 .hero-data-rail { margin-bottom:14px; }
 .hero-readouts { gap:6px; margin-top:13px; }
 .hero-readout { padding:9px 8px 8px; border-radius:11px; }
 .hero-readout > span { font-size:.53125rem; letter-spacing:.06em; }
 .hero-readout strong { font-size:.75rem; }
 .hero-readout > i { margin-top:7px; }
}
@media (max-width:359px) {
 .hero-signalbar { grid-template-columns:1fr auto; }
 .signal-event { grid-column:1/-1; grid-row:2; justify-self:start; text-align:left; }
 .hero-readouts { grid-template-columns:1fr; }
 .hero-readout { display:grid; grid-template-columns:auto 1fr; align-items:center; gap:7px 10px; }
 .hero-readout > i { grid-column:1/-1; width:100%; margin-top:0; }
}
@media (prefers-reduced-motion:reduce) {
 .site-scroll-progress i { transition:none; }
 .hero-console::before,.signal-status i,.hero-data-rail::before,.hero-data-rail i,.hero-readout > i::after { animation:none; }
 .signal-event.signal-swap { animation:none; }
}
@keyframes console-grid-drift { from { background-position:0 0,0 0; } to { background-position:38px 38px,-38px 38px; } }
@keyframes signal-blink { 0%,100% { opacity:.5; transform:scale(.8); } 50% { opacity:1; transform:scale(1.15); } }
@keyframes signal-swap { 0% { opacity:.25; transform:translateY(5px); } 100% { opacity:1; transform:translateY(0); } }
@keyframes data-rail-scan { 0%,16% { transform:translateX(-100%); } 58%,100% { transform:translateX(100%); } }
@keyframes data-node-pulse { 0%,100% { opacity:.35; transform:scale(.8); } 50% { opacity:1; transform:scale(1.5); } }
@keyframes readout-flow { 0% { transform:scaleX(.2); opacity:.35; } 45%,65% { transform:scaleX(2.1); opacity:1; } 100% { transform:scaleX(.2); opacity:.35; } }

/* Keep the extra signal treatment inside the original hero rhythm. */
.hero-signalbar { min-height:22px; padding-bottom:7px; }
.hero-data-rail { margin-top:-2px; margin-bottom:9px; }
@media (max-width:650px) {
 .hero-signalbar { min-height:21px; padding-bottom:6px; }
 .hero-data-rail { margin-top:-2px; margin-bottom:8px; }
}
