*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}:root{--bg: #4281a4;--bg-dark: #36698a;--bg-darker: #2d5a76;--teal: #48a9a6;--fawn: #d4b483;--fawn-dark: #be9c6a;--pink: #c1666b;--pink-dark: #a8555a;--dust: #e4dfda;--text: #fff;--text-secondary: rgb(255 255 255 / 78%);--muted: rgb(255 255 255 / 65%);--line: rgb(255 255 255 / 18%);--card-bg: rgb(255 255 255 / 10%);--card-border: rgb(255 255 255 / 15%);--overlay-light: rgb(255 255 255 / 12%);--overlay-subtle: rgb(255 255 255 / 8%);--shadow: rgb(0 0 0 / 14%);--shadow-heavy: rgb(0 0 0 / 20%)}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif;color:var(--text);background:var(--bg);line-height:1.6;overflow-x:clip;-webkit-font-smoothing:antialiased}a{color:var(--fawn);text-decoration:none}a:hover{text-decoration:underline}.site-shell{min-height:100vh;display:flex;flex-direction:column}.site-header{position:sticky;top:0;z-index:10;background:#4281a4b8;border-bottom:1px solid var(--line);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}.site-nav{display:flex;justify-content:space-between;align-items:center;height:56px;padding:0 2rem}.logo{height:100%;line-height:1}.logo a{display:inline-flex;align-items:center;height:100%;color:var(--text)}.logo a:hover{text-decoration:none}.logo img{display:block;width:auto;height:42px;max-width:none}.nav-links{list-style:none;display:flex;gap:2rem}.nav-links a{color:var(--text);font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-size:.9rem;font-weight:500;transition:color .2s}.nav-links a:hover{color:var(--fawn);text-decoration:none}.nav-links a.active{color:var(--fawn);border-bottom:2px solid var(--fawn);padding-bottom:2px}.hamburger{display:none;background:none;border:0;cursor:pointer;padding:.25rem}.hamburger span{display:block;width:22px;height:2px;background:var(--text);margin:5px 0}main{flex:1}.hero{padding:8rem 2rem;max-width:900px;margin:0 auto}.hero h1{font-size:3.25rem;font-weight:700;line-height:1.08;letter-spacing:0;margin-bottom:1.5rem}.terminal-headline{color:var(--fawn);font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;text-shadow:0 0 18px rgb(212 180 131 / 40%)}.hero p{font-size:1.15rem;color:var(--text-secondary);max-width:540px;line-height:1.7}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;clip-path:inset(50%)}.hero-terminal{width:min(100%,860px);overflow:hidden;border:1px solid var(--overlay-light);border-radius:8px;background:var(--bg-darker);box-shadow:0 18px 48px var(--shadow-heavy),inset 0 1px 0 var(--overlay-subtle)}.terminal-bar{display:flex;align-items:center;gap:.45rem;min-height:2rem;padding:0 .85rem;background:#00000040;border-bottom:1px solid var(--overlay-subtle)}.terminal-bar span{width:.68rem;height:.68rem;border-radius:50%}.terminal-bar span:nth-child(1){background:var(--pink)}.terminal-bar span:nth-child(2){background:var(--fawn)}.terminal-bar span:nth-child(3){background:var(--teal)}.terminal-output{display:flex;flex-direction:column;gap:1.35rem;padding:1.25rem 1.35rem 1.45rem;color:var(--fawn);font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace}.terminal-intro{display:grid;grid-template-columns:minmax(300px,max-content) minmax(0,1fr);gap:1.4rem;align-items:center}.terminal-ascii{margin:0;color:var(--fawn);font:inherit;font-size:.42rem;line-height:1.08;text-shadow:0 0 16px rgb(212 180 131 / 34%);white-space:pre}.hero .terminal-intro h1{margin-bottom:0;font-size:2.8rem}.hero .terminal-command{min-height:5rem;max-width:none;color:var(--dust);font-size:1rem;line-height:1.65;word-break:break-word;text-shadow:0 0 14px rgb(228 223 218 / 25%)}.terminal-prompt{color:var(--text);font-weight:700}.terminal-cursor{display:inline-block;width:.58em;height:1.05em;margin-left:.12em;vertical-align:-.12em;background:var(--fawn);box-shadow:0 0 12px #d4b4838c;animation:cursor-blink .9s steps(1) infinite}@keyframes cursor-blink{50%{opacity:0}}.hero .cta{display:inline-block;margin-top:2.5rem;padding:.8rem 2rem;background:var(--pink);color:var(--text);font-weight:600;font-size:.9rem;letter-spacing:.04em;border-radius:4px;transition:background .2s,transform .2s}.hero .cta:hover{background:var(--pink-dark);text-decoration:none;transform:translateY(-1px)}.page-section{padding:5rem 2rem;max-width:720px;margin:0 auto}.page-section h1{font-size:2rem;font-weight:700;margin-bottom:2.5rem}.about-overview{margin-bottom:3rem}.about-overview p{font-size:1rem;color:var(--text-secondary);margin-bottom:1.25rem;line-height:1.7}.bio-grid{display:grid;grid-template-columns:1fr 1fr;gap:2rem}.bio-card{padding:1.75rem;border:1px solid var(--card-border);border-radius:4px;background:var(--card-bg);transition:border-color .2s,transform .2s}.bio-card:hover{border-color:var(--fawn);transform:translateY(-3px)}.bio-photo{width:100%;aspect-ratio:1;border-radius:4px;background:var(--overlay-light);margin-bottom:1.25rem;object-fit:cover}.bio-card h2{font-size:1.05rem;font-weight:600;margin-bottom:.25rem}.bio-location{font-size:.85rem;color:var(--fawn);font-weight:500;margin-bottom:.75rem}.bio-text{font-size:.9rem;color:var(--muted);line-height:1.6}.services-page{--float-a: 0px;--float-b: 0px;--float-a-soft: 0px;--float-b-soft: 0px;--float-b-wide: 0px;--float-b-tight: 0px;--float-c: 0px;--gear-spin: 0deg;--gear-spin-reverse: 0deg;--gear-large-size: clamp(2.4rem, calc((100vw - 1120px)/4) , 8.2rem);--gear-medium-size: clamp(2.2rem, calc((100vw - 1120px)/5) , 6.4rem);--gear-small-size: clamp(1.6rem, calc((100vw - 1120px) / 7), 5rem);--gear-tiny-size: clamp(1.5rem, calc((100vw - 1120px)/8) , 4.2rem);--gear-margin-inset: .75rem;position:relative;isolation:isolate;max-width:1120px;margin:0 auto;padding:4.5rem 2rem 6.5rem;overflow:visible}.services-page:before{content:"";position:absolute;inset:2rem 2rem auto auto;z-index:-1;width:min(42vw,440px);height:min(42vw,440px);border:1px solid var(--card-border);border-radius:50%;opacity:.55;transform:translateY(var(--float-b-soft))}.services-gears{position:absolute;z-index:-1;display:grid;pointer-events:none}.services-gears-left{top:9rem;left:calc((100vw - 1120px) / -2 + var(--gear-margin-inset));grid-template-columns:var(--gear-large-size) var(--gear-small-size);align-items:end;transform:translateY(var(--float-c))}.services-gears-right{left:calc((100vw - 1120px) / -2 + var(--gear-margin-inset));bottom:8rem;grid-template-columns:var(--gear-medium-size) var(--gear-tiny-size);align-items:start;transform:translateY(var(--float-b-soft))}.services-gears-middle{top:50%;right:calc((100vw - 1120px) / -2 + var(--gear-margin-inset));grid-template-columns:var(--gear-medium-size) var(--gear-tiny-size);align-items:start;transform:translateY(var(--float-b))}.gear{display:block;overflow:visible;color:var(--overlay-light);filter:drop-shadow(0 14px 24px var(--shadow))}.gear-large{width:var(--gear-large-size)}.gear-medium{width:var(--gear-medium-size)}.gear-small{width:var(--gear-small-size);margin-left:calc(var(--gear-small-size) * -.08);margin-bottom:calc(var(--gear-small-size) * -.06);color:#d4b48338}.services-gears-right .gear-small{width:var(--gear-tiny-size);margin-top:calc(var(--gear-medium-size) * .56);margin-left:calc(var(--gear-tiny-size) * -.08)}.services-gears-middle .gear-small{width:var(--gear-tiny-size);margin-top:calc(var(--gear-medium-size) * .56);margin-left:calc(var(--gear-tiny-size) * -.08);color:#c1666b2e}.gear-rotor{transform:rotate(var(--gear-spin));transform-origin:50% 50%}.gear-reverse .gear-rotor{transform:rotate(var(--gear-spin-reverse))}.gear rect,.gear circle{fill:currentColor}.gear line{stroke:#4281a494;stroke-linecap:round;stroke-width:6}.gear .gear-cutout{fill:var(--bg)}.services-hero{display:grid;grid-template-columns:minmax(0,1.02fr) minmax(360px,.88fr);gap:4rem;align-items:center;min-height:520px}.section-kicker{margin-bottom:.9rem;color:var(--fawn);font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-size:.78rem;font-weight:700;letter-spacing:0;text-transform:uppercase}.services-copy h1{max-width:680px;margin-bottom:1.5rem;font-size:clamp(3.2rem,7vw,5.2rem);font-weight:760;letter-spacing:0;line-height:.95}.services-copy>p:not(.section-kicker){max-width:620px;color:var(--text-secondary);font-size:1.08rem;line-height:1.75}.services-cta{display:inline-flex;align-items:center;min-height:2.85rem;margin-top:2rem;padding:0 1.25rem;border:1px solid var(--dust);border-radius:4px;background:var(--dust);color:var(--bg-darker);font-weight:700;transition:background .2s,color .2s,transform .2s}.services-cta:hover{background:transparent;color:var(--dust);text-decoration:none;transform:translateY(-2px)}.services-motion-stage{--process-card-height: 7.75rem;--process-gap: 1rem;--process-top: 1.45rem;position:relative;min-height:430px;border-left:1px solid var(--line)}.services-motion-stage:before,.services-motion-stage:after{content:"";position:absolute;z-index:0;left:17%;width:68%;height:1px;background:var(--line)}.services-motion-stage:before{top:28%}.services-motion-stage:after{bottom:23%}.process-step{position:absolute;z-index:1;display:grid;grid-template-columns:auto 1fr;gap:.75rem .85rem;align-items:center;width:202px;height:var(--process-card-height);padding:1rem 1rem 1.15rem;border:1px solid var(--card-border);border-radius:6px;background:#4281a4d1;box-shadow:0 18px 46px var(--shadow);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}.step-number{color:var(--muted);font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-size:.72rem;grid-column:1;grid-row:1 / span 2}.process-step strong{grid-column:1 / -1;color:var(--text);font-size:1rem;line-height:1.16}.process-step-one{top:var(--process-top);left:1.35rem;transform:translate3d(var(--float-a),0,0)}.process-step-two{top:calc(var(--process-top) + var(--process-card-height) + var(--process-gap));right:.5rem;border-color:#d4b4834d;animation-delay:-3s;grid-template-columns:1fr auto;justify-items:end;text-align:right;transform:translate3d(var(--float-b-wide),0,0)}.process-step-two .step-number{grid-column:2}.process-step-two .step-art{grid-column:1;justify-self:end}.process-step-three{top:calc(var(--process-top) + (var(--process-card-height) * 2) + (var(--process-gap) * 2));left:1.35rem;animation-delay:-6s;transform:translate3d(var(--float-a-soft),0,0)}.process-step-three .step-number{align-self:center;grid-row:1}.process-step-three strong{grid-column:1 / -1}.step-art{display:block;position:relative;grid-column:2;width:5.4rem;height:2.7rem}.step-art-talk .person{position:absolute;left:.55rem;bottom:.35rem;width:1.15rem;height:1.15rem;border:2px solid var(--dust);border-radius:50%}.step-art-talk .person:after{content:"";position:absolute;left:50%;top:1rem;width:1.7rem;height:.95rem;border:2px solid var(--dust);border-radius:999px 999px 0 0;transform:translate(-50%)}.thought-bubble{position:absolute;border:1px solid rgb(212 180 131 / 70%);background:#d4b48326}.thought-bubble-main{top:.1rem;left:2.8rem;width:2.05rem;height:1.05rem;border-radius:999px}.thought-bubble-dot{border-radius:50%}.thought-bubble-dot-one{left:2.2rem;top:.95rem;width:.32rem;height:.32rem}.thought-bubble-dot-two{left:1.86rem;top:1.35rem;width:.2rem;height:.2rem}.step-art-build{height:2.7rem}.tool-hammer{position:absolute;left:1.25rem;top:.48rem;display:block;width:.54rem;height:2.46rem;border-radius:999px;background:var(--dust);transform:rotate(-42deg)}.tool-hammer:before{content:"";position:absolute;left:-.54rem;top:-.22rem;width:1.62rem;height:.66rem;border-radius:.18rem;background:var(--fawn)}.tool-svg{position:absolute;right:-.45rem;top:-.05rem;display:block;width:3.4rem;height:3rem;overflow:visible}.wrench-icon{fill:var(--teal)}.step-art-live{display:flex;align-items:center;height:1.15rem}.live-dot{display:block;width:1rem;height:1rem;border-radius:50%;background:var(--teal);box-shadow:0 0 #48a9a673;animation:live-pulse 1.45s ease-out infinite}.step-art-live:after{content:"";display:block;width:3.8rem;height:.32rem;margin-left:.8rem;border-radius:999px;background:linear-gradient(90deg,var(--teal),rgb(72 169 166 / 18%))}@keyframes live-pulse{70%{box-shadow:0 0 0 .7rem #48a9a600}to{box-shadow:0 0 #48a9a600}}@keyframes slow-drift{0%{margin-top:-.35rem}to{margin-top:.55rem}}@media(prefers-reduced-motion:reduce){.services-page{--float-a: 0px;--float-b: 0px;--float-a-soft: 0px;--float-b-soft: 0px;--float-b-wide: 0px;--float-b-tight: 0px;--float-c: 0px;--gear-spin: 0deg;--gear-spin-reverse: 0deg}.process-step,.live-dot{animation:none}}.services-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-top:2rem}.service-panel{display:flex;min-height:360px;flex-direction:column;padding:1.35rem;border:1px solid var(--card-border);border-radius:6px;background:var(--card-bg);transition:border-color .2s,transform .2s,box-shadow .2s}.service-panel:hover{border-color:#d4b4837f;box-shadow:0 16px 40px var(--shadow);transform:translateY(-3px)}.service-panel>p{margin-bottom:2.2rem;color:var(--fawn);font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-size:.8rem}.service-panel h2{margin-bottom:1rem;font-size:1.45rem;line-height:1.12}.service-panel>span{color:var(--text-secondary);font-size:.95rem;line-height:1.65}.service-panel ul{display:grid;gap:.7rem;margin-top:auto;padding-top:2rem;list-style:none}.service-panel li{display:flex;align-items:center;gap:.65rem;color:var(--text-secondary);font-size:.9rem}.service-panel li:before{content:"";flex:0 0 auto;width:.45rem;height:.45rem;border:1px solid var(--teal);border-radius:50%}.services-response{display:grid;grid-template-columns:minmax(280px,.85fr) minmax(0,1fr);gap:2.5rem;align-items:start;margin-top:5.5rem;padding:2.25rem 0 0;border-top:1px solid var(--line)}.services-response h2{max-width:420px;font-size:2rem;line-height:1.08}.services-response>p{max-width:620px;color:var(--text-secondary);font-size:1.05rem;line-height:1.75}.portfolio-card:hover{border-color:var(--fawn);transform:translateY(-3px)}.portfolio-card .card-body h2{font-size:1.05rem;font-weight:600;margin-bottom:.5rem}.portfolio-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem}.portfolio-card{display:block;border:1px solid var(--card-border);border-radius:4px;overflow:hidden;background:var(--card-bg);transition:border-color .2s,transform .2s}.portfolio-card:hover{text-decoration:none}.preview{width:100%;aspect-ratio:16 / 10;background:var(--overlay-subtle);display:flex;align-items:center;justify-content:center;color:var(--muted);font-size:.8rem;font-weight:500;letter-spacing:.05em}.preview img{width:100%;height:100%;object-fit:cover}.portfolio-card .card-body{padding:1rem 1.25rem}.portfolio-card .card-body h2{color:var(--text)}.portfolio-card .card-body p{font-size:.9rem;color:var(--muted)}.contact-page{text-align:center}.contact-note{font-size:.95rem;color:var(--muted);margin-bottom:2rem}.contact-form{display:flex;flex-direction:column;gap:1.25rem;max-width:480px;margin:0 auto;text-align:left}.form-field{display:flex;flex-direction:column;gap:.35rem}.form-field span{font-size:.85rem;font-weight:600}.form-field input,.form-field textarea{font-family:inherit;font-size:.95rem;padding:.65rem .75rem;border:1px solid var(--card-border);border-radius:4px;background:var(--overlay-light);color:var(--text);outline:none;transition:border-color .2s}.form-field input::placeholder,.form-field textarea::placeholder{color:var(--muted)}.form-field input:focus,.form-field textarea:focus{border-color:var(--fawn)}.form-field textarea{resize:vertical}.contact-submit{align-self:flex-start;padding:.7rem 1.75rem;background:var(--pink);color:var(--text);font-family:inherit;font-size:.9rem;font-weight:600;letter-spacing:.04em;border:none;border-radius:4px;cursor:pointer;transition:background .2s,transform .2s}.contact-submit:hover{background:var(--pink-dark);transform:translateY(-1px)}.contact-submit:disabled{opacity:.6;cursor:not-allowed;transform:none}.contact-success{max-width:480px;margin:0 auto;text-align:center}.contact-success p{font-size:1rem;color:var(--text-secondary);margin-bottom:1.25rem}.contact-reset{padding:.55rem 1.25rem;background:none;color:var(--fawn);font-family:inherit;font-size:.9rem;font-weight:500;border:1px solid var(--card-border);border-radius:4px;cursor:pointer;transition:border-color .2s}.contact-reset:hover{border-color:var(--fawn)}footer{border-top:1px solid var(--line);padding:2.25rem 2rem;display:flex;flex-direction:column;align-items:center;gap:.85rem;text-align:center;font-size:.8rem;color:var(--muted);letter-spacing:.02em}footer img{display:block;width:84px;max-width:76vw;height:auto}@media(max-width:1279px){.services-gears{display:none}}@media(max-width:900px){.services-page{padding-top:4.5rem}.services-hero{grid-template-columns:1fr;gap:2.5rem;min-height:0}.services-motion-stage{min-height:430px;border-left:0;border-top:1px solid var(--line)}.process-step-one{left:8%}.process-step-two{right:4%}.process-step-three{left:8%}.services-grid,.services-response{grid-template-columns:1fr}.service-panel{min-height:0}}@media(max-width:600px){.site-nav{flex-wrap:wrap;min-height:48px;height:auto;padding:0 1.5rem}.logo{height:48px}.logo img{height:36px;max-width:76vw}.hamburger{display:block}.nav-links{display:none;flex-direction:column;width:100%;gap:0;padding-top:1rem}.nav-links.open{display:flex}.nav-links li{padding:.75rem 0;border-top:1px solid var(--line)}.hero{padding:4rem 1.5rem}.hero h1{font-size:2rem}.terminal-headline{font-size:1.35rem}.terminal-output{gap:1.1rem;padding:1rem}.terminal-intro{grid-template-columns:1fr;gap:1rem}.terminal-ascii{overflow-x:auto;font-size:.5rem}.hero .terminal-intro h1{font-size:1.55rem}.hero .terminal-command{min-height:10rem;font-size:.88rem}.page-section{padding:3.5rem 1.5rem}.services-page{padding:3.5rem 1.25rem 4.5rem}.services-page:before{width:18rem;height:18rem;inset:5rem -8rem auto auto}.services-copy h1{font-size:3.05rem}.services-copy>p:not(.section-kicker),.services-response>p{font-size:1rem}.services-motion-stage{display:grid;gap:.8rem;min-height:0;padding-top:1.5rem}.services-motion-stage:before,.services-motion-stage:after{display:none}.process-step{position:relative;inset:auto;min-width:0;width:100%;height:auto;min-height:0;padding:.85rem;transform:none}.process-step strong{font-size:.95rem}.step-art{width:5rem}.step-art-live:after{width:3.2rem}.services-grid{margin-top:1.5rem}.service-panel{padding:1.2rem}.services-response{margin-top:3.5rem;gap:1.25rem}.services-response h2{font-size:1.65rem}.portfolio-grid,.bio-grid{grid-template-columns:1fr}}
