/* Visual composition: shared type/color tokens, illustrations remain semantic. */
.visual-hero{display:grid;grid-template-columns:.85fr 1.15fr;gap:var(--space-8);align-items:center;padding-block:var(--space-8);border-bottom:1px solid var(--line)}.visual-hero-copy>h1{margin-block:var(--space-4);max-width:18ch}.visual-hero-copy>p{max-width:46ch;color:var(--muted)}.visual-actions{display:flex;align-items:center;gap:var(--space-6);flex-wrap:wrap;margin-top:var(--space-6)}.visual-signature{display:flex;align-items:center;gap:var(--space-3);margin-top:var(--space-8);font-size:var(--text-small)}.signature-mark{display:grid;place-items:center;width:44px;height:44px;background:var(--surface);border:1px solid var(--line);border-radius:50%;flex-shrink:0;color:var(--accent);font-weight:750}.visual-signature strong,.visual-signature div>span{display:block}.visual-signature div>span{color:var(--muted)}.visual-signature>a{padding:var(--space-3);min-width:44px;min-height:44px;color:var(--accent)}
.art-kicker,.art-demo{font-size:var(--text-small);line-height:1.5}.art-kicker{font-weight:650}.art-demo{color:var(--muted)}.signal-canvas{min-width:0;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);padding:var(--card-inset);position:relative;overflow:hidden;background-image:radial-gradient(var(--line) 1px,transparent 1px);background-size:20px 20px}.signal-caption{display:flex;flex-direction:column;gap:var(--space-1)}.signal-tabs{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-block:var(--space-4) var(--space-6)}.signal-tabs button{min-height:44px;border:1px solid var(--line);background:var(--panel);color:var(--ink);padding:var(--space-2) var(--space-3);border-radius:var(--radius);font-size:var(--text-small);font-weight:650}.signal-tabs button[aria-pressed=true]{color:var(--accent);border-color:var(--accent);background:var(--tint)}.signal-stage{display:grid;grid-template-columns:.75fr .9fr 1.35fr;gap:var(--space-4);align-items:center;min-height:260px}.signal-inputs,.signal-result,.signal-engine{min-width:0}.signal-source{display:flex;align-items:center;gap:var(--space-2);margin-top:var(--space-3);background:var(--panel);border:1px solid var(--line);padding:var(--space-3);font-size:var(--text-small)}.source-icon{color:var(--accent)}.signal-engine{text-align:center;position:relative;display:flex;flex-direction:column;align-items:center;padding-block:var(--space-4)}.signal-engine:before,.signal-engine:after{content:'';position:absolute;top:45%;width:var(--space-4);border-top:2px solid var(--accent)}.signal-engine:before{left:calc(-1 * var(--space-4))}.signal-engine:after{right:calc(-1 * var(--space-4))}.signal-engine img{width:64px;height:64px;position:relative;margin-bottom:var(--space-6)}.engine-orbit{position:absolute;top:0;width:100px;height:100px;border:1px solid var(--accent);background:var(--tint);transform:rotate(30deg);border-radius:var(--radius)}.signal-engine strong{position:relative;font-size:var(--text-small);line-height:1.4}.signal-engine small{font-size:var(--text-small);color:var(--muted);margin-top:var(--space-2)}.signal-result{border:1px solid var(--line);border-left:3px solid var(--accent);padding:var(--space-4);background:var(--panel);box-shadow:0 10px 24px color-mix(in srgb,var(--ink) 6%,transparent)}.signal-result h3{margin-block:var(--space-2) var(--space-4);font-size:var(--text-h3)}.signal-result>div{display:flex;gap:var(--space-2);padding-block:var(--space-2);border-top:1px solid var(--line);font-size:var(--text-small)}.signal-result>div>span{color:var(--accent)}.signal-note{font-size:var(--text-small);color:var(--muted);margin-top:var(--space-4)}
.visual-case{padding-block:var(--space-8)}.visual-section-head{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-8);align-items:end;margin-bottom:var(--space-6)}.visual-section-head h2{margin-top:var(--space-3)}.visual-section-head p{color:var(--muted);margin-bottom:var(--space-3)}
.monitor-art{margin:0;padding:var(--space-6);background:var(--tint);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.monitor-art figcaption{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);flex-wrap:wrap;margin-bottom:var(--space-6)}.monitor-art-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);gap:var(--space-8);align-items:center}.art-window{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;box-shadow:0 12px 32px color-mix(in srgb,var(--ink) 8%,transparent);min-width:0}.art-window-bar{display:flex;gap:var(--space-4);align-items:center;padding:var(--space-3) var(--space-4);font-size:var(--text-small);border-bottom:1px solid var(--line);background:var(--surface)}.window-dots{letter-spacing:3px;color:var(--muted);flex-shrink:0}.art-listing{display:grid;grid-template-columns:1fr 1.2fr;gap:var(--space-4);align-items:center;padding:var(--space-6)}.device-drawing{display:block;width:100%;height:auto;max-width:280px;color:var(--muted)}.art-listing h3{margin-block:var(--space-2);font-size:1.25rem;line-height:1.35}.art-listing p{font-size:var(--text-small);color:var(--muted)}.art-price{display:flex;gap:var(--space-3);align-items:baseline;flex-wrap:wrap;margin-top:var(--space-3)}.art-price del{color:var(--muted);font-size:var(--text-small)}.art-price strong{font-size:var(--text-h2);font-variant-numeric:tabular-nums;color:var(--accent)}.art-chart{padding:var(--space-4) var(--space-6);border-block:1px solid var(--line)}.art-chart>div{display:flex;justify-content:space-between;gap:var(--space-3);font-size:var(--text-small)}.art-chart>svg{width:100%;height:110px;display:block;margin-block:var(--space-3)}.art-chart-labels{color:var(--muted)}.art-filter{display:flex;flex-wrap:wrap;gap:var(--space-4);padding:var(--space-4) var(--space-6);font-size:var(--text-small)}.art-message{position:relative;border-radius:var(--radius);padding:var(--space-6);background:var(--panel);border:1px solid var(--line);box-shadow:0 8px 24px color-mix(in srgb,var(--ink) 8%,transparent)}.art-message:before{content:'→';position:absolute;left:calc(-1 * var(--space-6));top:50%;color:var(--accent)}.message-symbol{display:grid;place-items:center;width:48px;height:48px;background:var(--tint);color:var(--accent);font-size:1.5rem;margin-block:var(--space-4);border-radius:50%}.art-message h3{font-size:1.5rem;line-height:1.3;margin-bottom:var(--space-4)}.art-message p{font-size:var(--text-body);line-height:1.6}.art-message p strong{color:var(--accent)}.message-context{font-size:var(--text-small);border-top:1px solid var(--line);padding-top:var(--space-4);margin-block:var(--space-4)}.art-message>.small-text{color:var(--muted)}
.visual-hermes{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-8);align-items:center;border-block:1px solid var(--line);padding-block:var(--space-8)}.visual-hermes h2{margin-block:var(--space-3) var(--space-4)}.visual-hermes p{color:var(--muted);margin-bottom:var(--space-6)}.hermes-art{padding:var(--space-6);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius)}.hermes-question{padding:var(--space-4);background:var(--panel);border:1px solid var(--line);margin-top:var(--space-4);max-width:80%;display:flex;justify-content:space-between;gap:var(--space-3)}.hermes-core{display:flex;gap:var(--space-6);align-items:center;justify-content:center;padding:var(--space-6);color:var(--accent);font-size:var(--text-small);font-weight:650;line-height:1.8}.hermes-core img{width:64px;height:64px}.hermes-answer{padding:var(--space-4);margin-left:20%;background:var(--tint);border-left:3px solid var(--accent);display:flex;gap:var(--space-4)}.visual-bottom{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-8);padding-block:var(--space-8)}.visual-bottom h2{font-size:1.5rem;margin-bottom:var(--space-3)}.visual-bottom p{color:var(--muted);margin-bottom:var(--space-4)}
.visual-project-heading{display:grid;grid-template-columns:1.2fr 1fr;gap:var(--space-8);align-items:end;padding-block:var(--space-6)}.visual-project-heading h1{margin-top:var(--space-3)}.visual-project-heading p{margin-bottom:var(--space-4);color:var(--muted)}.visual-project-meta{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-6);padding-block:var(--space-6);border-bottom:1px solid var(--line)}.visual-project-meta span{display:block;font-size:var(--text-small);color:var(--muted);margin-bottom:var(--space-2)}.visual-project-meta strong{font-size:var(--text-body)}.visual-project-process{display:grid;grid-template-columns:.8fr 1.2fr;gap:var(--space-8);padding-block:var(--space-8)}.visual-project-process h2{margin-block:var(--space-3) var(--space-4)}.visual-project-process p{color:var(--muted)}.visual-project-process ol{list-style:none;padding:0;display:grid;gap:var(--space-4)}.visual-project-process li{display:flex;gap:var(--space-4);border-bottom:1px solid var(--line);padding-bottom:var(--space-4)}.visual-project-process li>span{font-size:1.5rem;color:var(--accent)}.visual-project-process h3{margin-bottom:var(--space-2)}.visual-proof{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-8);padding:var(--card-inset);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius)}.visual-proof h2{font-size:1.5rem;margin-bottom:var(--space-4)}.visual-proof .button{margin-top:var(--space-4)}.visual-project details{border:0;padding:0;margin-top:var(--space-4)}.visual-project summary{min-height:44px;align-content:center;font-size:var(--text-small);cursor:pointer}.visual-editorial p{font-size:var(--text-small)}
@media(min-width:1100px) and (prefers-reduced-motion:no-preference){.signal-result{animation:signal-arrive .3s ease-out}@keyframes signal-arrive{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}}
@media(max-width:1100px){.visual-hero{grid-template-columns:1fr}.visual-hero-copy{display:grid;grid-template-columns:1fr 1fr;column-gap:var(--space-6)}.visual-hero-copy>.section-eyebrow,.visual-hero-copy>h1{grid-column:1}.visual-hero-copy>p{grid-column:2;grid-row:1/3;align-self:center}.visual-signature{margin-top:var(--space-4)}.visual-hero-copy .visual-actions{margin-top:0}.monitor-art-grid{gap:var(--space-6)}.art-listing{padding:var(--space-4)}.art-message:before{left:calc(-1 * var(--space-4))}}
@media(max-width:800px){.visual-section-head,.visual-hermes,.visual-bottom,.visual-project-heading,.visual-project-process,.visual-proof{grid-template-columns:1fr;gap:var(--space-6)}.monitor-art-grid{grid-template-columns:1fr}.art-message:before{content:'↓';left:50%;top:calc(-1 * var(--space-6))}.art-message{margin-top:var(--space-2)}.visual-project-meta{grid-template-columns:1fr;gap:var(--space-4)}.visual-hero-copy{display:block}.visual-hero-copy .visual-actions{margin-top:var(--space-4)}}
@media(max-width:550px){.signal-stage{grid-template-columns:1fr;gap:var(--space-6)}.signal-inputs{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-2)}.signal-inputs>.art-kicker{grid-column:1/-1}.signal-source{margin:0;padding:var(--space-2);flex-direction:column;align-items:start;overflow-wrap:anywhere}.signal-engine:before,.signal-engine:after{display:none}.signal-engine{margin-top:var(--space-3)}.signal-result{width:100%}.monitor-art{padding:var(--space-4)}.art-listing{grid-template-columns:1fr}.device-drawing{max-width:200px;justify-self:center}.art-chart{padding:var(--space-4)}.art-chart-labels{flex-wrap:wrap}.art-filter{padding:var(--space-4)}.art-message{padding:var(--space-4)}.visual-project-heading h1{overflow-wrap:break-word}.visual-hero{padding-block:var(--space-6)}}
.signal-engine .brand-dark,.hermes-core .brand-dark{display:none}:root[data-theme=dark] .signal-engine .brand-light,:root[data-theme=dark] .hermes-core .brand-light{display:none}:root[data-theme=dark] .signal-engine .brand-dark,:root[data-theme=dark] .hermes-core .brand-dark{display:block}

/* Reserve the rotated mark’s full bounds independently of its caption. */
.engine-symbol{position:relative;display:grid;place-items:center;width:144px;height:144px;flex-shrink:0;margin-bottom:var(--space-4)}.engine-symbol .engine-orbit{top:50%;left:50%;transform:translate(-50%,-50%) rotate(30deg)}.signal-engine .engine-symbol img{margin:0;grid-area:1/1}.signal-engine{padding-top:0}
@media(min-width:551px) and (max-width:800px){.signal-stage{grid-template-columns:1fr 1fr}.signal-inputs{grid-column:1}.signal-engine{grid-column:2}.signal-result{grid-column:1/-1}}

@media(max-width:550px){.signal-inputs{grid-template-columns:1fr}.signal-source{flex-direction:row;align-items:center;overflow-wrap:normal}}
