@charset "UTF-8";
:root{color-scheme:dark;--bg:#101311;--paper:#eef0e9;--muted:#9baba1;--dim:#829187;--theme-accent:#d5f3a1;--accent:var(--theme-accent);--line:rgba(212,231,213,.15);--scene-orbit:#91a184;--scene-dust:#bfd69e;--service-arch:#d5f3a1;--service-fhir:#a4e7df;--service-iot:#efd5a0;--service-cloud:#b5cffa;--service-identity:#d3c4f0;--service-people:#f0bca7;--font:'DM Sans',sans-serif;--mono:'IBM Plex Mono',monospace;--serif:'Instrument Serif',serif;--edge:clamp(24px,4vw,72px)}
:root[data-theme="tide"]{--bg:#09151c;--paper:#edf6fc;--muted:#9db6c7;--dim:#7d99ad;--theme-accent:#83def4;--line:rgba(162,212,241,.17);--scene-orbit:#6f9bb8;--scene-dust:#a3ddee;--service-arch:#83def4;--service-fhir:#8ae4d9;--service-iot:#a9d0ff;--service-cloud:#8fbaff;--service-identity:#b4c6ff;--service-people:#b4ebe3}
:root[data-theme="copper"]{--bg:#1a110d;--paper:#faf0e5;--muted:#c0aa98;--dim:#a18b79;--theme-accent:#f5b27b;--line:rgba(239,192,155,.17);--scene-orbit:#b68e6e;--scene-dust:#edbf91;--service-arch:#f5b27b;--service-fhir:#ead69b;--service-iot:#ffd29b;--service-cloud:#e7c2a3;--service-identity:#efb3a6;--service-people:#f3c795}
:root[data-theme="iris"]{--bg:#131020;--paper:#f1edfc;--muted:#b1a7ca;--dim:#978bad;--theme-accent:#c6b0fa;--line:rgba(203,181,245,.17);--scene-orbit:#9683b6;--scene-dust:#c9b7ed;--service-arch:#c6b0fa;--service-fhir:#b8c8ff;--service-iot:#edb8ec;--service-cloud:#a9bcff;--service-identity:#d3bbff;--service-people:#f0b9d5}
:root[data-theme="mono"]{--bg:#111111;--paper:#f5f5f5;--muted:#b1b1b1;--dim:#909090;--theme-accent:#e3e3e3;--line:rgba(224,224,224,.18);--scene-orbit:#999999;--scene-dust:#cccccc;--service-arch:#e3e3e3;--service-fhir:#cccccc;--service-iot:#f1f1f1;--service-cloud:#d1d1d1;--service-identity:#e8e8e8;--service-people:#d9d9d9}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:24px}
body{margin:0;background:var(--bg);color:var(--paper);font-family:var(--font);font-size:16px;-webkit-font-smoothing:antialiased;overflow-x:hidden}
body::after{content:'';position:fixed;inset:0;pointer-events:none;z-index:10;opacity:.026;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 160 160' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%23fff' filter='url(%23n)' opacity='.7' d='M0 0h160v160H0z'/%3E%3C/svg%3E")}
a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}button,a{-webkit-tap-highlight-color:transparent}button:disabled{cursor:default}a:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:6px}button{border:0}::selection{background:var(--accent);color:var(--bg)}[hidden]{display:none!important}.sr-only,.skip-link:not(:focus){position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link:focus{position:fixed;top:10px;left:10px;padding:12px;background:var(--accent);color:var(--bg);z-index:100}
.site-shell{max-width:2000px;margin:0 auto}.site-header{height:112px;margin:0 var(--edge);display:flex;align-items:center;border-bottom:1px solid var(--line);position:relative;z-index:4}.brand{font-size:52px;font-weight:700;letter-spacing:-5px;line-height:1;padding-right:14px;position:relative}.brand-dot{font-size:13px;letter-spacing:0;position:absolute;top:5px;right:-2px}.brand-caption{font-size:13px;line-height:1.4;color:var(--muted);margin-left:37px;letter-spacing:-.1px}.header-nav{display:flex;align-items:center;gap:38px;margin-left:auto;font-size:14px}.header-nav a{transition:color .2s}.header-nav a:hover{color:var(--accent)}.contact-link{border:1px solid color-mix(in srgb,var(--accent) 40%,transparent);padding:13px 18px;border-radius:3px;display:flex;gap:28px}.contact-link span{color:var(--accent);font-size:20px;line-height:17px}
.experience{position:relative;min-height:665px;height:calc(100svh - 268px);max-height:970px;isolation:isolate}.scene-stage{position:absolute;top:0;left:35%;right:0;bottom:0;overflow:hidden;z-index:-1;background:radial-gradient(ellipse at 55% 50%,color-mix(in srgb,var(--theme-accent) 5%,transparent),transparent 65%)}#scene{width:100%;height:100%;display:block;touch-action:pan-y;opacity:0;transition:opacity 1.2s ease}.scene-ready #scene{opacity:1}.scene-ready #scene:active{cursor:grabbing}.scene-labels{position:absolute;inset:0;pointer-events:none;opacity:0;transition:opacity 1s .3s}.scene-ready .scene-labels{opacity:1}.node-label{position:absolute;left:0;top:0;display:flex;align-items:center;gap:9px;pointer-events:auto;white-space:nowrap;will-change:transform;font-size:13px;font-weight:450;color:var(--muted);padding:10px 12px;background:color-mix(in srgb,var(--bg) 84%,transparent);border:1px solid var(--line);border-radius:3px;backdrop-filter:blur(6px);transition:color .2s,border-color .2s,background .2s;transform:translate(-1000px,-1000px)}.node-label span{font-family:var(--mono);font-size:12px;color:var(--dim)}.node-label::before{content:'';width:4px;height:4px;background:var(--accent);border-radius:50%}.node-label:hover,.node-label.is-active{color:var(--accent);border-color:color-mix(in srgb,var(--accent) 60%,transparent);background:color-mix(in srgb,var(--accent) 8%,var(--bg))}.node-label.is-muted{opacity:.5}.scene-caption{position:absolute;top:36px;right:var(--edge);display:flex;align-items:center;gap:12px;font-family:var(--mono);font-size:12px;letter-spacing:.07em;color:var(--muted)}.status-dot{width:5px;height:5px;border-radius:50%;background:var(--accent);box-shadow:0 0 9px color-mix(in srgb,var(--accent) 25%,transparent);display:inline-block;flex-shrink:0}.caption-divider{margin:0 5px;color:var(--dim)}.scene-note{position:absolute;bottom:62px;left:0;right:0;text-align:center;font-family:var(--mono);font-size:12px;letter-spacing:.025em;color:var(--dim);margin:0}.scene-coordinates{position:absolute;left:50%;top:50%;width:100%;display:flex;justify-content:space-between;transform:translate(-50%,-50%);writing-mode:vertical-rl;padding:0 24px;height:210px;font-family:var(--mono);font-size:12px;color:var(--dim);letter-spacing:.12em;pointer-events:none;opacity:.55}.scene-coordinates span:last-child{align-self:flex-end}.content-wrap{position:relative;width:44%;padding:69px 0 45px var(--edge);z-index:2;pointer-events:none}.content-panel{pointer-events:auto;animation:panel-enter .65s cubic-bezier(.2,.7,.2,1) both}.eyebrow{font-family:var(--mono);font-size:12px;letter-spacing:.1em;color:var(--muted);margin:0 0 27px;display:flex;align-items:center;gap:12px}.small-line{width:22px;height:1px;background:var(--accent)}h1,h2,p{margin-top:0}h1{font-size:clamp(72px,6.65vw,108px);font-weight:450;line-height:.99;letter-spacing:-.062em;margin:0 0 27px}h1 em,h2 em{font-family:var(--serif);font-weight:400;color:var(--accent);letter-spacing:-.035em}h1 em{font-size:1.14em;line-height:.94}.intro{font-size:16px;line-height:1.75;font-weight:400;color:var(--muted);max-width:380px;margin-bottom:28px}.primary-link{display:inline-flex;gap:21px;align-items:center;font-size:15px;font-weight:500}.arrow-disc{display:flex;align-items:center;justify-content:center;width:43px;height:43px;border:1px solid color-mix(in srgb,var(--accent) 55%,transparent);border-radius:50%;color:var(--accent);font-size:23px;transition:background .3s,color .3s,transform .3s}.primary-link:hover .arrow-disc{background:var(--accent);color:var(--bg);transform:rotate(45deg)}.hero-footnote{display:flex;gap:9px;align-items:center;font-family:var(--mono);font-size:12px;letter-spacing:.04em;color:var(--dim);margin-top:42px}.hero-footnote .status-dot{width:4px;height:4px}.scene-tools{position:absolute;right:var(--edge);bottom:18px;display:flex;align-items:center;gap:8px;z-index:3}.drag-hint{font-size:12px;color:var(--dim);margin-right:8px}.drag-hint>span{margin-right:6px;font-size:18px}.tool-button{width:35px;height:35px;display:grid;place-items:center;border:1px solid var(--line);border-radius:50%;font-size:21px;background:color-mix(in srgb,var(--bg) 80%,transparent);transition:border-color .2s,color .2s}.tool-button:hover{color:var(--accent);border-color:var(--accent)}#pauseIcon{font-size:13px}.detail-panel .eyebrow{margin-bottom:24px;color:var(--accent)}.detail-panel h2{font-weight:450;font-size:clamp(48px,4.4vw,72px);line-height:1.05;letter-spacing:-.055em;margin:0 0 26px}.detail-panel h2 em{font-size:1.12em;white-space:nowrap}.back-link{display:inline-block;font-size:13px;color:var(--muted);margin-bottom:32px}.back-link:hover{color:var(--accent)}.detail-panel .intro{max-width:405px;margin-bottom:25px}.deliverables{list-style:none;padding:0;margin:0 0 30px;max-width:400px}.deliverables li{padding:11px 0;border-top:1px solid var(--line);font-size:14px;line-height:1.4;display:flex;gap:12px}.deliverables li::before{content:'+';color:var(--accent);font-family:var(--mono)}.text-link{display:inline-flex;align-items:center;gap:20px;font-size:14px}.text-link span{font-size:21px;color:var(--accent)}.text-link:hover{color:var(--accent)}.approach-list{padding:0;list-style:none;max-width:410px;margin:0 0 22px}.approach-list li{display:flex;gap:20px;border-top:1px solid var(--line);padding:14px 0}.approach-list li>span{font-family:var(--mono);font-size:12px;color:var(--accent);padding-top:3px}.approach-list strong{font-size:15px;font-weight:500}.approach-list p{font-size:14px;line-height:1.5;color:var(--muted);margin:5px 0 0}.email-link{font-size:clamp(26px,3vw,43px);display:flex;align-items:center;justify-content:space-between;max-width:370px;padding:16px 0;border-bottom:1px solid var(--accent);letter-spacing:-.04em;color:var(--accent)}.email-link span{font-size:30px}.contact-actions{display:flex;gap:26px;margin:21px 0 0;font-size:14px}.contact-actions button{background:none;padding:0}.contact-actions span{color:var(--muted);margin-left:8px}.contact-actions a:hover,.contact-actions button:hover{color:var(--accent)}.contact-signature{color:var(--dim);font-size:12px;margin:55px 0 0}
.service-nav{margin:0 var(--edge);display:grid;grid-template-columns:repeat(6,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.service-nav a{position:relative;padding:27px 20px 25px;display:flex;align-items:center;gap:11px;min-height:88px;font-size:15px;border-right:1px solid var(--line);transition:background .25s,color .25s}.service-nav a:first-child{padding-left:0}.service-nav a:last-child{border-right:0;padding-right:0}.service-number{font-family:var(--mono);font-size:12px;color:var(--dim)}.service-arrow{margin-left:auto;color:var(--dim);transition:transform .25s,color .25s}.service-nav a::before{content:'';position:absolute;top:-1px;left:0;right:0;height:2px;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform .3s}.service-nav a:hover,.service-nav a[aria-current=page]{color:var(--accent);background:linear-gradient(color-mix(in srgb,var(--accent) 5%,transparent),transparent)}.service-nav a:hover::before,.service-nav a[aria-current=page]::before{transform:scaleX(1)}.service-nav a:hover .service-arrow,.service-nav a[aria-current=page] .service-arrow{color:var(--accent);transform:translate(2px,-2px)}.site-footer{min-height:68px;margin:0 var(--edge);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:16px;font-size:12px;color:var(--dim)}.site-footer>a{justify-self:end}.site-footer a:hover{color:var(--accent)}.site-footer a span{margin-left:9px}
.scene-unavailable .scene-stage{opacity:.4}.scene-unavailable .scene-note{font-family:var(--font);font-size:14px;bottom:40%;max-width:250px;left:50%;right:auto;transform:translateX(-50%);color:var(--muted)}.scene-unavailable .scene-caption,.scene-unavailable .scene-coordinates{display:none}
@keyframes panel-enter{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}
@media(min-width:1600px){.content-wrap{padding-top:88px}.intro{font-size:18px;max-width:440px}.hero-footnote{margin-top:50px}.scene-note{bottom:78px}}
@media(max-width:1150px){.brand-caption{display:none}.header-nav{gap:26px}.experience{min-height:650px}.content-wrap{width:47%;padding-top:60px}h1{font-size:80px}.scene-stage{left:35%;right:-2%}.scene-coordinates{display:none}.service-nav a{padding:24px 12px;font-size:14px;gap:8px}.service-arrow{display:none}.detail-panel h2{font-size:51px}.detail-panel .intro{font-size:15px}.scene-caption{font-size:12px}.scene-note{font-size:12px}.hero-footnote{font-size:12px}.eyebrow{font-size:12px}}
@media(max-width:800px){:root{--edge:26px}.site-header{height:90px}.brand{font-size:45px}.header-nav{gap:22px}.header-nav>a:first-child{display:none}.header-nav>a{font-size:13px}.contact-link{padding:11px 13px;gap:18px}.experience{height:auto;min-height:970px}.content-wrap{width:100%;padding:46px var(--edge) 0;min-height:505px}.hero-panel{max-width:600px}h1{font-size:76px;line-height:1.02;margin-bottom:23px}h1 br:nth-child(2){display:none}h1 em{margin-left:.09em}.intro{font-size:16px;max-width:460px}.hero-footnote{margin-top:27px;font-size:12px}.eyebrow{font-size:12px;margin-bottom:23px}.scene-stage{left:0;right:0;top:465px;bottom:10px;z-index:0}.scene-caption{top:22px;right:var(--edge);font-size:12px}.scene-note{bottom:35px}.scene-tools{bottom:15px}.detail-panel h2{font-size:58px}.detail-panel .intro{font-size:16px;max-width:470px}.detail-panel .back-link{margin-bottom:24px}.detail-panel h2{margin-bottom:19px}.detail-panel .eyebrow{margin-bottom:20px}.deliverables{max-width:470px}.content-wrap:has(.detail-panel:not([hidden])){min-height:600px;padding-top:30px}.experience:has(.detail-panel:not([hidden])){min-height:1100px}.experience:has(.detail-panel:not([hidden])) .scene-stage{top:610px}.service-nav{grid-template-columns:repeat(3,1fr)}.service-nav a{min-height:73px;padding:22px 14px;font-size:14px}.service-nav a:nth-child(3){border-right:0}.service-nav a:nth-child(n+4){border-top:1px solid var(--line)}.service-nav a:nth-child(4){padding-left:0}.service-nav a:last-child{padding-right:14px}.service-arrow{display:block}.site-footer{height:80px}.node-label{font-size:12px;padding:8px 10px}.node-label span{font-size:12px}.contact-signature{margin-top:28px}}
@media(max-width:480px){:root{--edge:22px}.header-nav{gap:16px}.header-nav>a{font-size:14px}.header-nav>a:nth-child(2){display:none}.site-header{height:82px}.content-wrap{padding-top:37px;min-height:500px}h1{font-size:72px}h1 br:nth-child(2){display:initial}h1 em{margin-left:0}h1{line-height:.97}.eyebrow{font-size:12px;letter-spacing:.08em}.intro{font-size:15px;line-height:1.65;margin-bottom:22px}.hero-footnote{font-size:12px;margin-top:27px}.experience{min-height:995px}.scene-stage{top:515px}.scene-caption{font-size:12px}.scene-note{font-size:12px;bottom:62px}.scene-tools{bottom:17px}.drag-hint{font-size:12px}.detail-panel h2{font-size:49px}.detail-panel .intro{font-size:15px}.deliverables li{font-size:13px}.service-nav a{font-size:14px;gap:7px;padding-right:7px;padding-left:10px}.service-number{font-size:12px}.service-arrow{font-size:13px}.scene-labels .node-label{padding:8px;gap:5px;font-size:14px}.scene-labels .node-label span{display:none}.site-footer{font-size:12px}.contact-panel h2{font-size:45px}.contact-actions{font-size:14px}}
.theme-picker{position:relative;display:flex;align-items:center;justify-self:center;border:1px solid var(--line);border-radius:4px;background:var(--bg);color:var(--muted);transition:border-color .2s,color .2s}
.theme-picker:hover{border-color:var(--accent);color:var(--paper)}
.theme-picker:focus-within{outline:2px solid var(--accent);outline-offset:4px}
.theme-picker select{appearance:none;-webkit-appearance:none;font:400 14px var(--font);color:inherit;background:transparent;border:0;border-radius:inherit;min-height:40px;width:132px;padding:8px 32px 8px 36px;cursor:pointer;outline:none}
.theme-picker option{background:var(--bg);color:var(--paper)}
.theme-swatch{position:absolute;left:14px;width:9px;height:9px;border-radius:50%;background:var(--theme-accent);pointer-events:none}
.theme-chevron{position:absolute;right:12px;top:50%;transform:translateY(-40%);font-size:18px;color:var(--muted);pointer-events:none}
@media(max-width:480px){.site-footer{height:auto;min-height:112px;grid-template-columns:1fr 1fr;gap:12px;padding:15px 0}.theme-picker{grid-column:1/-1;grid-row:1}.site-footer>span{grid-column:1;grid-row:2}.site-footer>a{grid-column:2;grid-row:2}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
