.cross-root{--cross-ink:#0a0a0a;--cross-paper:#f4f2eb;--cross-muted:#6b6b66;--cross-line:clamp(6px, .85vw, 9px);--cross-rail:clamp(52px, 10vw, 84px);--cross-pad:clamp(6px, .85vw, 9px);--cross-split-min:calc(50% - var(--cross-line) / 2);--cross-split-max:calc(50% + var(--cross-line) / 2);--cross-offset:calc(var(--cross-rail) + var(--cross-line));--cross-half:calc(50% - var(--cross-line) / 2);--cross-ease:cubic-bezier(.16, 1, .3, 1);--cross-dur:1.08s;--cross-fade:.42s;background:var(--cross-ink);min-height:100dvh;color:var(--cross-paper);font-family:var(--font-body), system-ui, sans-serif}.cross-stage{box-sizing:border-box;width:100%;height:100dvh;padding:var(--cross-pad);background:var(--cross-ink);transition:background var(--cross-fade) var(--cross-ease);position:relative;overflow:hidden}.cross-stage[data-phase=morph],.cross-stage[data-phase=open],.cross-stage[data-phase=closing]{background:var(--cross-paper)}.cross-panel,.cross-bar,.cross-hub{width:0;height:0;transition:top var(--cross-dur) var(--cross-ease), left var(--cross-dur) var(--cross-ease), width var(--cross-dur) var(--cross-ease), height var(--cross-dur) var(--cross-ease), transform var(--cross-dur) var(--cross-ease), opacity var(--cross-fade) var(--cross-ease);position:absolute;top:0;left:0;transform:none}@media (prefers-reduced-motion:reduce){.cross-panel,.cross-bar,.cross-hub,.cross-panel-tile,.cross-panel-content-inner,.cross-bar-inner,.cross-tile-label,.cross-tile-hint{transition:none!important}}.cross-panel{z-index:1;background:var(--cross-paper);color:var(--cross-ink);overflow:hidden}.cross-panel[data-section=home]{width:var(--cross-split-min);height:var(--cross-split-min);top:0;left:0}.cross-panel[data-section=work]{top:0;left:var(--cross-split-max);width:var(--cross-half);height:var(--cross-split-min)}.cross-panel[data-section=services]{top:var(--cross-split-max);width:var(--cross-split-min);height:var(--cross-half);left:0}.cross-panel[data-section=contact]{top:var(--cross-split-max);left:var(--cross-split-max);width:var(--cross-half);height:var(--cross-half)}.cross-stage:not([data-active=menu]) .cross-panel:not(.is-active){opacity:0;pointer-events:none;z-index:0}.cross-stage:not([data-active=menu]) .cross-panel.is-active{z-index:2}.cross-stage[data-active=home] .cross-panel[data-section=home].is-active{width:calc(100% - var(--cross-offset));height:calc(100% - var(--cross-offset))}.cross-stage[data-active=work] .cross-panel[data-section=work].is-active{left:var(--cross-offset);width:calc(100% - var(--cross-offset));height:calc(100% - var(--cross-offset))}.cross-stage[data-active=services] .cross-panel[data-section=services].is-active{top:var(--cross-offset);width:calc(100% - var(--cross-offset));height:calc(100% - var(--cross-offset))}.cross-stage[data-active=contact] .cross-panel[data-section=contact].is-active{top:var(--cross-offset);left:var(--cross-offset);width:calc(100% - var(--cross-offset));height:calc(100% - var(--cross-offset))}.cross-panel-tile{z-index:2;color:inherit;text-align:left;cursor:pointer;background:0 0;border:none;flex-direction:column;justify-content:flex-end;align-items:flex-start;gap:8px;padding:clamp(16px,3.5vw,36px);display:flex;position:absolute;inset:0}.cross-panel[data-section=work] .cross-panel-tile,.cross-panel[data-section=contact] .cross-panel-tile{text-align:right;align-items:flex-end}.cross-panel[data-section=services] .cross-panel-tile,.cross-panel[data-section=contact] .cross-panel-tile{justify-content:flex-start}.cross-panel-tile:hover,.cross-panel-tile:focus-visible{outline:none}.cross-stage[data-phase=menu] .cross-panel:hover{background:var(--cross-ink);color:var(--cross-paper)}.cross-tile-label,.cross-tile-hint{transition:opacity var(--cross-fade) var(--cross-ease), transform var(--cross-fade) var(--cross-ease)}.cross-stage[data-phase=menu] .cross-tile-label,.cross-stage[data-phase=menu] .cross-tile-hint{opacity:1;transform:translateY(0)}.cross-stage[data-phase=morph] .cross-tile-label,.cross-stage[data-phase=morph] .cross-tile-hint,.cross-stage[data-phase=open] .cross-tile-label,.cross-stage[data-phase=open] .cross-tile-hint,.cross-stage[data-phase=closing] .cross-tile-label,.cross-stage[data-phase=closing] .cross-tile-hint,.cross-stage[data-phase=settled] .cross-tile-label,.cross-stage[data-phase=settled] .cross-tile-hint{opacity:0;pointer-events:none;transform:translateY(4px)}.cross-stage:not([data-phase=menu]) .cross-panel-tile{pointer-events:none}.cross-tile-label{font-family:var(--font-display), Georgia, serif;letter-spacing:-.02em;font-size:clamp(1.6rem,6vw,4rem);line-height:.95}.cross-tile-hint{letter-spacing:.12em;text-transform:uppercase;opacity:.55;font-size:.72rem}.cross-panel-content{pointer-events:none;position:absolute;inset:0;overflow:hidden}.cross-stage[data-phase=open] .cross-panel.is-active .cross-panel-content{pointer-events:auto}.cross-panel-content-inner{opacity:0;height:100%;transition:opacity var(--cross-fade) var(--cross-ease), transform var(--cross-fade) var(--cross-ease);padding:clamp(20px,4vw,48px);overflow:auto;transform:translateY(10px)}.cross-stage[data-phase=open] .cross-panel.is-active .cross-panel-content-inner{opacity:1;transform:translateY(0)}.cross-stage[data-phase=morph] .cross-panel.is-active .cross-panel-content-inner{opacity:0;transform:translateY(8px)}.cross-bar{z-index:4;background:var(--cross-ink);pointer-events:none;overflow:hidden}.cross-bar-inner{opacity:0;width:100%;height:100%;transition:opacity var(--cross-fade) var(--cross-ease)}.cross-stage[data-phase=open] .cross-bar-inner{opacity:1}.cross-stage[data-phase=morph] .cross-bar-inner{opacity:0}.cross-stage[data-active=menu] .cross-bar-h{top:var(--cross-split-min);width:100%;height:var(--cross-line);left:0}.cross-stage[data-active=menu] .cross-bar-v{top:0;left:var(--cross-split-min);width:var(--cross-line);height:100%}.cross-stage[data-active=home] .cross-bar-h{top:calc(100% - var(--cross-rail));width:calc(100% - var(--cross-offset));height:var(--cross-rail);left:0}.cross-stage[data-active=home] .cross-bar-v{top:0;left:calc(100% - var(--cross-rail));width:var(--cross-rail);height:calc(100% - var(--cross-offset))}.cross-stage[data-active=work] .cross-bar-h{top:calc(100% - var(--cross-rail));width:100%;height:var(--cross-rail);left:0}.cross-stage[data-active=work] .cross-bar-v{width:var(--cross-rail);height:calc(100% - var(--cross-offset));top:0;left:0}.cross-stage[data-active=services] .cross-bar-h{width:calc(100% - var(--cross-offset));height:var(--cross-rail);top:0;left:0}.cross-stage[data-active=services] .cross-bar-v{top:var(--cross-offset);left:calc(100% - var(--cross-rail));width:var(--cross-rail);height:calc(100% - var(--cross-offset))}.cross-stage[data-active=contact] .cross-bar-h{width:100%;height:var(--cross-rail);top:0;left:0}.cross-stage[data-active=contact] .cross-bar-v{top:var(--cross-offset);width:var(--cross-rail);height:calc(100% - var(--cross-offset));left:0}.cross-stage:not([data-active=menu]) .cross-bar{pointer-events:auto}.cross-hub{z-index:5;background:var(--cross-ink);color:var(--cross-paper);cursor:pointer;opacity:0;pointer-events:none;border:none;place-items:center;font-size:1.5rem;line-height:1;display:grid}.cross-stage[data-active=menu] .cross-hub{top:var(--cross-split-min);left:var(--cross-split-min);width:var(--cross-line);height:var(--cross-line)}.cross-stage[data-active=home] .cross-hub,.cross-stage[data-active=work] .cross-hub{top:calc(100% - var(--cross-rail));left:calc(100% - var(--cross-rail));width:var(--cross-rail);height:var(--cross-rail)}.cross-stage[data-active=services] .cross-hub,.cross-stage[data-active=contact] .cross-hub{top:0;left:calc(100% - var(--cross-rail));width:var(--cross-rail);height:var(--cross-rail)}.cross-stage[data-phase=open] .cross-hub{opacity:1;pointer-events:auto}.cross-hub span{font-weight:300;display:block;transform:rotate(45deg)}.cross-hub:hover,.cross-hub:focus-visible{background:#141414;outline:none}.cross-stage[data-phase=closing] .cross-panel:not(.is-active){opacity:0;pointer-events:none}.cross-stage[data-phase=closing] .cross-panel.is-active{opacity:1;pointer-events:none;z-index:1}.cross-stage[data-phase=closing] .cross-bar{z-index:6}.cross-stage[data-phase=closing] .cross-bar-h{top:var(--cross-split-min);width:100%;height:var(--cross-line);pointer-events:none;left:0}.cross-stage[data-phase=closing] .cross-bar-v{top:0;left:var(--cross-split-min);width:var(--cross-line);pointer-events:none;height:100%}.cross-stage[data-phase=closing] .cross-bar-inner,.cross-stage[data-phase=closing] .cross-hub,.cross-stage[data-phase=closing] .cross-panel-content-inner{opacity:0;pointer-events:none}.cross-stage[data-phase=closing] .cross-hub{top:var(--cross-split-min);left:var(--cross-split-min);width:var(--cross-line);height:var(--cross-line)}.cross-stage[data-phase=settled] .cross-panel{opacity:1;pointer-events:none;transition:none}.cross-rail-v{flex-direction:column;justify-content:center;gap:2px;padding:6px 4px;display:flex}.cross-stage[data-active=work] .cross-rail-v,.cross-stage[data-active=contact] .cross-rail-v{writing-mode:vertical-rl;text-orientation:mixed}.cross-rail-link{min-height:0;color:var(--cross-paper);font:inherit;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;opacity:.75;background:0 0;border:none;flex:1;justify-content:center;align-items:center;padding:6px 2px;font-size:clamp(.62rem,1.6vw,.78rem);transition:opacity .2s,background .2s;display:flex}.cross-rail-link:hover,.cross-rail-link:focus-visible{opacity:1;background:color-mix(in srgb, var(--cross-paper) 10%, transparent);outline:none}.cross-rail-h{color:var(--cross-paper);letter-spacing:.06em;justify-content:space-between;align-items:center;gap:12px;padding:0 clamp(10px,2.5vw,20px);font-size:clamp(.62rem,1.5vw,.76rem);display:flex}.cross-rail-h p{opacity:.7;white-space:nowrap;text-overflow:ellipsis;margin:0;overflow:hidden}.cross-rail-h-links{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.cross-rail-h a,.cross-rail-h button{color:inherit;font:inherit;text-underline-offset:3px;cursor:pointer;background:0 0;border:none;text-decoration:underline}.cross-kicker{letter-spacing:.14em;text-transform:uppercase;color:var(--cross-muted);margin:0 0 12px;font-size:.72rem}.cross-panel-content-inner h1{max-width:16ch;font-family:var(--font-display), Georgia, serif;margin:0 0 16px;font-size:clamp(1.75rem,4.5vw,3rem);font-weight:400;line-height:1.05}.cross-lead,.cross-panel-head p,.cross-academic{max-width:42ch;color:var(--cross-muted);margin:0;font-size:1rem;line-height:1.55}.cross-panel-head{margin-bottom:28px}.cross-panel-head h1{max-width:none}.cross-actions{flex-wrap:wrap;gap:12px;margin-top:24px;display:flex}.cross-btn{border:1px solid var(--cross-ink);background:var(--cross-ink);color:var(--cross-paper);font:inherit;cursor:pointer;padding:10px 18px;font-size:.85rem}.cross-btn.is-ghost{color:var(--cross-ink);background:0 0}.cross-hero-photo{aspect-ratio:16/9;object-fit:cover;filter:grayscale(.15);width:min(100%,520px);margin-top:32px;display:block}.cross-work-list{gap:24px;margin:0;padding:0;list-style:none;display:grid}.cross-work-list li{grid-template-columns:minmax(120px,200px) 1fr;align-items:start;gap:16px;display:grid}.cross-work-list img{aspect-ratio:4/3;object-fit:cover;width:100%}.cross-work-list h2{margin:0 0 6px;font-size:1.1rem}.cross-work-list p{color:var(--cross-muted);margin:0;font-size:.92rem;line-height:1.5}.cross-service-list{gap:16px;margin:0 0 24px;padding:0;list-style:none;display:grid}.cross-service-list h2{margin:0 0 4px;font-size:1rem}.cross-service-list p{color:var(--cross-muted);margin:0;font-size:.9rem}.cross-form{gap:14px;max-width:420px;display:grid}.cross-form label{letter-spacing:.06em;text-transform:uppercase;gap:6px;font-size:.78rem;display:grid}.cross-form input,.cross-form textarea,.cross-form input,.cross-form textarea,.cross-form select{border:1px solid color-mix(in srgb, var(--cross-ink) 20%, transparent);font:inherit;background:#fff;padding:10px 12px;font-size:.95rem}.cross-form-label{letter-spacing:.06em;text-transform:uppercase;gap:6px;font-size:.78rem;display:grid}.cross-form-input{border:1px solid color-mix(in srgb, var(--cross-ink) 20%, transparent);font:inherit;background:#fff;padding:10px 12px;font-size:.95rem}.cross-opnform-wrap{width:100%}.cross-opnform-embed{background:0 0;border:0;width:100%;display:block}.cross-contact-unavailable{color:color-mix(in srgb, var(--cross-ink) 65%, transparent);font-size:.88rem}.cross-contact-channels{flex-wrap:wrap;gap:10px 16px;margin-bottom:20px;font-size:.88rem;display:flex}.cross-contact-channels a{color:var(--cross-ink)}.cross-contact-sent p{margin:0 0 8px}.cross-form-hint,.cross-contact-alt{color:color-mix(in srgb, var(--cross-ink) 65%, transparent);margin:0 0 12px;font-size:.85rem}.cross-contact-alt a{color:var(--cross-ink);text-underline-offset:3px;text-decoration:underline}.cross-work-placeholder{aspect-ratio:4/3;background:color-mix(in srgb, var(--cross-ink) 8%, var(--cross-paper));width:100%}.cross-work-link{color:var(--cross-ink);margin-top:8px;font-size:.88rem;font-weight:500;display:inline-block}.cross-academic-block{border-top:1px solid color-mix(in srgb, var(--cross-ink) 12%, transparent);margin-top:28px;padding-top:20px}.cross-academic-title{margin:0 0 8px;font-size:1rem}.cross-academic-list{color:var(--cross-muted);margin:12px 0 0;padding-left:1.1em;font-size:.92rem;line-height:1.5}.cross-actions a.cross-btn{align-items:center;text-decoration:none;display:inline-flex}@media (max-width:640px){.cross-root{--cross-rail:44px}.cross-work-list li{grid-template-columns:1fr}.cross-rail-h{flex-direction:column;justify-content:center;align-items:flex-start;padding:6px 10px}.cross-rail-h p{white-space:normal}}.cross-root[data-debug=true]{background:#2d1b69}.cross-root[data-debug=true] .cross-stage[data-phase=menu],.cross-root[data-debug=true] .cross-stage[data-phase=settled]{outline-offset:-3px;background:#0d47a1;outline:3px dashed #ffea00}.cross-root[data-debug=true] .cross-stage[data-phase=morph],.cross-root[data-debug=true] .cross-stage[data-phase=open],.cross-root[data-debug=true] .cross-stage[data-phase=closing]{outline-offset:-3px;background:#cfd8dc;outline:3px dashed #ff4081}.cross-root[data-debug=true] .cross-panel[data-section=home]{background:#a5d6a7;outline:2px solid #2e7d32}.cross-root[data-debug=true] .cross-panel[data-section=work]{background:#ffcc80;outline:2px solid #ef6c00}.cross-root[data-debug=true] .cross-panel[data-section=services]{background:#81d4fa;outline:2px solid #0277bd}.cross-root[data-debug=true] .cross-panel[data-section=contact]{background:#fff59d;outline:2px solid #f9a825}.cross-root[data-debug=true] .cross-panel-content{outline-offset:-4px;outline:2px dashed #ff4081}.cross-root[data-debug=true] .cross-bar-h{outline-offset:-2px;outline:2px solid #fff;background:#ff1744!important}.cross-root[data-debug=true] .cross-bar-h:after{content:"cross-bar-h";z-index:9;color:#fff;pointer-events:none;background:#000000a6;padding:1px 4px;font:10px/1.2 monospace;position:absolute;top:2px;left:4px}.cross-root[data-debug=true] .cross-bar-v{outline-offset:-2px;outline:2px solid #fff;background:#2979ff!important}.cross-root[data-debug=true] .cross-bar-v:after{content:"cross-bar-v";z-index:9;color:#fff;writing-mode:vertical-rl;pointer-events:none;background:#000000a6;padding:1px 4px;font:10px/1.2 monospace;position:absolute;top:2px;left:2px}.cross-root[data-debug=true] .cross-bar-inner{outline:1px dotted #00000073;background:#ffffff59!important}.cross-root[data-debug=true] .cross-hub{outline:2px solid #fff;background:#e040fb!important}.cross-root[data-debug=true] .cross-hub:after{content:"hub";color:#fff;pointer-events:none;place-items:center;font:9px/1 monospace;display:grid;position:absolute;inset:0}.cross-debug-hud{z-index:9999;color:#fff;pointer-events:none;background:#000000e0;border:1px solid #ffffff59;border-radius:8px;max-width:220px;padding:10px 12px;font:11px/1.45 system-ui,sans-serif;position:fixed;bottom:12px;right:12px}.cross-debug-hud strong{letter-spacing:.04em;text-transform:uppercase;margin-bottom:6px;font-size:12px;display:block}.cross-debug-hud span{font-family:ui-monospace,monospace;display:block}.cross-debug-hud ul{margin:8px 0 0;padding:0;list-style:none}.cross-debug-hud li{align-items:center;gap:6px;margin-top:3px;display:flex}.cross-debug-hud .swatch{border-radius:2px;flex-shrink:0;width:10px;height:10px}.cross-debug-hud .swatch-root{background:#2d1b69}.cross-debug-hud .swatch-stage-ink{background:#0d47a1}.cross-debug-hud .swatch-stage-paper{background:#cfd8dc}.cross-debug-hud .swatch-h{background:#ff1744}.cross-debug-hud .swatch-v{background:#2979ff}.cross-debug-hud .swatch-inner{background:#ffffff80;border:1px solid #999}.cross-debug-hud .swatch-hub{background:#e040fb}.cross-debug-hud .swatch-home{background:#a5d6a7}.cross-debug-hud .swatch-work{background:#ffcc80}.cross-debug-hud .swatch-services{background:#81d4fa}.cross-debug-hud .swatch-contact{background:#fff59d}.cross-debug-hud p{opacity:.65;margin:8px 0 0;font-size:10px}
