.hero-grid{grid-template-columns:minmax(0,1fr) minmax(390px,.96fr);gap:clamp(2rem,5vw,6rem)}.hero-copy{position:relative;z-index:2;max-width:770px}.hero-copy h1{max-width:760px;font-size:clamp(3.8rem,7vw,7rem);line-height:.96;letter-spacing:-.085em}.hero-copy .hero-lead{max-width:610px;font-size:clamp(1.12rem,1.45vw,1.32rem)}.hero-art{position:relative;z-index:1;translate:var(--pointer-x,0) var(--pointer-y,0);transition:translate .35s ease-out}.dev-visual{position:relative;width:100%;max-width:720px;margin-inline:auto;aspect-ratio:720/560}.dev-flow{width:100%;height:100%;overflow:visible}.flow-path{stroke-dasharray:7 9;animation:draw-flow 2.2s .2s ease both,flow-dash 20s 2.4s linear infinite}.flow-path-secondary{animation-delay:.55s,2.7s}.flow-node{transform-box:fill-box;transform-origin:center;animation:node-enter .7s cubic-bezier(.2,.8,.2,1) both}.node-web{animation-delay:.15s}.node-code{animation-delay:.3s}.node-data{animation-delay:.45s}.node-cloud{animation-delay:.6s}.flow-pulse{transform-box:fill-box;transform-origin:center;animation:signal-pulse 2.5s 1.3s ease-out infinite}.pulse-two{animation-delay:2s}.dev-visual-caption{position:absolute;left:12%;right:5%;bottom:5%;display:flex;align-items:center;gap:.75rem;padding:.9rem 1rem;background:var(--ink);color:var(--paper);font:600 .8rem var(--display);letter-spacing:.03em;box-shadow:7px 7px 0 var(--copper)}.caption-mark{display:grid;place-items:center;width:35px;height:35px;background:var(--copper);color:#fff;font-size:.82rem;font-weight:700;letter-spacing:-.06em}.dev-visual-caption b{padding-inline:.2rem;color:var(--copper)}@keyframes draw-flow{0%{stroke-dashoffset:180;opacity:.25}to{stroke-dashoffset:0;opacity:1}}@keyframes flow-dash{to{stroke-dashoffset:-160}}@keyframes node-enter{0%{opacity:0;translate:0 12px;scale:.97}to{opacity:1;translate:0 0;scale:1}}@keyframes signal-pulse{0%{opacity:0;scale:.6}20%{opacity:1}80%{opacity:.45}to{opacity:0;scale:1.9}}.brand-strip{padding:clamp(3rem,5vw,5rem) 0;background:#e6e9e9;border-block:1px solid rgba(39,55,70,.1)}.brand-strip-inner{display:grid;grid-template-columns:minmax(190px,.8fr) minmax(0,2.2fr);gap:clamp(2rem,5vw,5rem);align-items:center}.brand-strip-heading .eyebrow{margin-bottom:.6rem}.brand-strip-heading h2{max-width:300px;margin:0;font:600 clamp(1.45rem,2.2vw,2rem)/1.1 var(--display);letter-spacing:-.06em;color:var(--ink)}.brand-strip-logos{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem}.brand-logo-tile{height:76px;display:grid;place-items:center;padding:.8rem;background:#fffefa;border:1px solid rgba(39,55,70,.1);transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}.brand-logo-tile:hover{transform:translateY(-3px);border-color:var(--copper);box-shadow:3px 3px 0 var(--copper)}.brand-logo-tile img{display:block;max-width:100%;max-height:50px;width:auto;height:auto;-o-object-fit:contain;object-fit:contain}.home-project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.home-project-card{transition:transform .25s ease,box-shadow .25s ease}.home-project-card:hover{transform:translateY(-5px);box-shadow:7px 7px 0 var(--copper)}.home-project-card img{transition:transform .45s cubic-bezier(.2,.7,.2,1)}.home-project-card:hover img{transform:scale(1.025)}@media (max-width:980px){.hero-grid{grid-template-columns:1fr}.hero-copy{max-width:850px}.hero-art{width:min(100%,720px);margin:0 auto}.brand-strip-inner{grid-template-columns:1fr;gap:1.5rem}.brand-strip-heading h2{max-width:unset}.brand-strip-logos{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (max-width:640px){.hero-copy h1{font-size:clamp(3.2rem,13vw,5.1rem)}.dev-visual{width:calc(100% + 1.5rem);margin-left:-.75rem}.dev-visual-caption{left:8%;right:5%;bottom:2%;font-size:.68rem;padding:.65rem}.caption-mark{width:29px;height:29px}.brand-strip{padding:2.7rem 0}.brand-strip-logos{grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem}.brand-logo-tile{height:70px}.home-project-card:hover{transform:translateY(-2px)}}@media (prefers-reduced-motion:reduce){.hero-art{transition:none}.flow-path,.flow-node,.flow-pulse{animation:none!important}.home-project-card,.home-project-card img,.brand-logo-tile{transition:none}.home-project-card:hover,.brand-logo-tile:hover{transform:none}}[data-theme=dark] .brand-strip{background:#192630;border-color:#455661}[data-theme=dark] .brand-strip-heading h2{color:#f2f0ec}[data-theme=dark] .brand-logo-tile{background:#fffefa;border-color:#455661}@media (max-width:640px){.home-project-grid{grid-template-columns:1fr}}.project-case-list{display:grid;gap:1.35rem;margin-top:3rem}.project-case{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(280px,.88fr);align-items:center;gap:clamp(2rem,5vw,5.5rem);padding:clamp(1rem,2vw,1.6rem);background:#f2f0ec;border:1px solid #d0d5d6;box-shadow:0 10px 30px #2737460b;transition:border-color .25s ease,box-shadow .25s ease}.project-case:hover{border-color:#ca7048;box-shadow:8px 8px #ca7048}.project-case-reverse .project-window{order:2}.project-case-reverse .project-case-copy{order:1}.project-window{overflow:hidden;background:#dce1e2;border:1px solid #c1c9cc;box-shadow:0 8px 24px #2737461a}.project-windowbar{height:38px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:.5rem;padding:0 .8rem;background:#273746;color:#e9edef;font:500 .67rem var(--body);letter-spacing:.015em}.window-controls{display:flex;gap:5px}.window-controls i{width:7px;height:7px;border-radius:50%;background:#ca7048}.window-controls i:nth-child(2){background:#d7bd91}.window-controls i:nth-child(3){background:#9cadb5}.window-indicator{justify-self:end;color:#e6aa89;font-size:.9rem}.project-window img{display:block;width:100%;aspect-ratio:465/337;-o-object-fit:cover;object-fit:cover;-o-object-position:top center;object-position:top center;transition:transform .5s cubic-bezier(.2,.7,.2,1)}.project-case:hover .project-window img{transform:scale(1.025)}.project-case-copy{max-width:520px;padding:clamp(1rem,2vw,2rem)}.project-case-copy .project-meta{display:flex;gap:.65rem;align-items:center;margin:0 0 1rem;font-size:.77rem;text-transform:uppercase;letter-spacing:.13em;font-weight:800}.project-case-copy .project-meta span{color:#89959b}.project-case-copy h3{margin:0;font:600 clamp(2rem,3.4vw,3.4rem)/1.03 var(--display);letter-spacing:-.07em;color:#273746}.project-case-copy>p:not(.project-meta){max-width:440px;margin:1rem 0 1.5rem;font-size:1.08rem;line-height:1.65;color:#56636b}.project-case-copy>a{display:inline-flex;align-items:center;gap:.5rem;padding-bottom:.25rem;color:#a65032;font:700 .95rem var(--display);text-decoration:none;border-bottom:1px solid currentColor}.project-case-copy>a:hover{color:#833d27}[data-theme=dark] .project-case{background:#1c2932;border-color:#455661;box-shadow:0 10px 30px #0000001f}[data-theme=dark] .project-case:hover{border-color:#ca7048;box-shadow:8px 8px #a85839}[data-theme=dark] .project-window{background:#24333e;border-color:#536671}[data-theme=dark] .project-windowbar{background:#101820}[data-theme=dark] .project-case-copy h3{color:#f2f0ec}[data-theme=dark] .project-case-copy>p:not(.project-meta){color:#b9c4c8}[data-theme=dark] .project-case-copy>a{color:#efa783}@media (max-width:800px){.project-case{grid-template-columns:1fr;gap:1rem}.project-case-reverse .project-window,.project-case-reverse .project-case-copy{order:initial}.project-case-copy{max-width:none;padding:1rem}.project-case-copy h3{font-size:clamp(2rem,8vw,3rem)}}@media (max-width:640px){.project-case-list{gap:1rem;margin-top:2rem}.project-case{padding:.7rem}.project-windowbar{height:32px}.project-case-copy>p:not(.project-meta){font-size:1rem}.project-case:hover{transform:none}}@media (prefers-reduced-motion:reduce){.project-case,.project-window img{transition:none}.project-case:hover{box-shadow:none}}
