@import"https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=IBM+Plex+Mono:wght@500&display=swap";.cv-request-note[data-v-a48c3d5d]{margin-top:14px;color:var(--muted);font-size:.85rem;line-height:1.6}.privacy-page[data-v-0dd96d80]{padding:48px 20px 72px}.privacy-card[data-v-0dd96d80]{width:min(880px,100%);margin:0 auto;padding:44px;box-sizing:border-box;color:#e5e7eb;background:#161b22;border:1px solid #30363d;border-radius:16px;box-shadow:0 18px 45px #0003}.privacy-header[data-v-0dd96d80]{padding-bottom:28px;margin-bottom:32px;border-bottom:1px solid #30363d}.eyebrow[data-v-0dd96d80]{margin:0 0 8px;color:#58a6ff;font-size:.8rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}h1[data-v-0dd96d80]{margin:0;color:#f0f6fc;font-size:clamp(2rem,5vw,3rem);line-height:1.15}.effective-date[data-v-0dd96d80]{margin:14px 0 0;color:#8b949e}.privacy-content[data-v-0dd96d80]{color:#c9d1d9;font-size:1rem;line-height:1.75}.privacy-content section[data-v-0dd96d80]{margin-top:32px}h2[data-v-0dd96d80]{margin:0 0 10px;color:#f0f6fc;font-size:1.25rem}p[data-v-0dd96d80]{margin:0 0 14px}a[data-v-0dd96d80]{color:#58a6ff;overflow-wrap:anywhere}a[data-v-0dd96d80]:hover{color:#79c0ff;text-decoration:underline}@media(max-width:640px){.privacy-page[data-v-0dd96d80]{padding:24px 14px 48px}.privacy-card[data-v-0dd96d80]{padding:26px 20px;border-radius:12px}}:root{--navy:#050f1e;--navy-soft:#08182b;--surface:#0a1b30;--surface-hover:#0d223c;--blue:#149cff;--blue-soft:#72c5ff;--cream:#f4f1ea;--muted:#a3b3c5;--line:rgba(114,197,255,.18);--line-strong:rgba(114,197,255,.48);--max-width:1180px;font-family:DM Sans,system-ui,sans-serif;color:var(--cream);background:var(--navy);font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;min-width:320px;min-height:100vh;background:var(--navy)}img{display:block;max-width:100%}a{color:inherit}button,input,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{color:inherit}a:focus-visible,button:focus-visible{outline:3px solid var(--blue-soft);outline-offset:5px;border-radius:3px}main:focus{outline:none}h1,h2,h3,p,figure{margin:0}h1,h2,h3{text-wrap:balance}p{line-height:1.75}li{line-height:1.7}section[id]{scroll-margin-top:24px}.site-shell{min-height:100vh;display:flex;flex-direction:column}main{flex:1}.page{width:min(var(--max-width),calc(100% - 64px));margin:auto;padding:72px 0 96px}.eyebrow{margin:0 0 16px;font:500 .72rem/1.5 IBM Plex Mono,monospace;letter-spacing:.12em;text-transform:uppercase;color:var(--blue-soft)}.display-title{font-size:clamp(3rem,5.6vw,4.7rem);line-height:1.06;letter-spacing:-.055em}.page-title{font-size:clamp(2.7rem,5.2vw,4.4rem);line-height:1.1;letter-spacing:-.045em}.lead{max-width:730px;margin-top:24px;color:var(--muted);font-size:1.18rem;line-height:1.7}.blue{color:var(--blue)}h2{font-size:clamp(1.9rem,3.1vw,2.7rem);letter-spacing:-.035em;line-height:1.2}h3{font-size:1.35rem;letter-spacing:-.02em;line-height:1.3}.text-link{display:inline-block;color:var(--blue-soft);text-decoration:underline;text-decoration-color:transparent;text-underline-offset:5px;font-size:.94rem;line-height:1.6}.text-link:hover{text-decoration-color:currentColor;color:var(--cream)}.actions{display:flex;flex-wrap:wrap;align-items:center;gap:14px;margin-top:30px}.button{display:inline-flex;align-items:center;justify-content:center;gap:16px;min-height:50px;padding:13px 21px;border:1px solid var(--line-strong);border-radius:7px;text-decoration:none;font-weight:700;font-size:.94rem;line-height:1.5;transition:background .15s,transform .15s}.button:hover{transform:translateY(-2px)}.button--primary{color:var(--navy);background:var(--blue);border-color:var(--blue)}.button--primary:hover{background:var(--blue-soft)}.button--secondary{background:var(--navy-soft)}.button--secondary:hover{background:var(--surface-hover)}.section-space{margin-top:104px}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:32px;margin-bottom:32px}.section-heading .text-link{flex-shrink:0}.section-description{max-width:370px;font-size:.97rem;color:var(--muted)}.page-intro{max-width:890px;margin-bottom:42px}.sr-only{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{position:fixed;top:8px;left:16px;z-index:100;padding:12px 20px;background:var(--cream);color:var(--navy);transform:translateY(-160%)}.skip-link:focus{transform:translateY(0)}.site-header{position:relative;z-index:20;border-bottom:1px solid var(--line);background:var(--navy)}.navbar{width:min(var(--max-width),calc(100% - 64px));height:88px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:28px}.brand{display:flex;align-items:center;text-decoration:none}.brand-horizontal{width:210px}.brand-mascot{display:none;width:48px;height:52px;object-fit:contain}.nav-links{display:flex;align-items:center;gap:36px}.nav-links a{position:relative;padding:26px 0;text-decoration:none;font-size:.94rem}.nav-links .play-link{color:var(--blue-soft)}.nav-links a:after{content:"";position:absolute;left:0;right:100%;bottom:16px;height:2px;background:var(--blue);transition:right .18s}.nav-links a:hover:after,.nav-links a.router-link-active:after{right:0}.menu-button{display:none;min-width:48px;height:48px;padding:12px;border:1px solid var(--line);background:var(--navy-soft);border-radius:6px;cursor:pointer}.menu-button span{display:block;height:2px;margin:6px 0;background:var(--cream)}.hero{display:grid;grid-template-columns:1.18fr .82fr;align-items:center;gap:40px}.developer-intro{margin-bottom:22px;font-weight:600;font-size:.95rem}.developer-intro span{display:block;margin-top:2px;color:var(--muted);font-weight:400;font-size:.85rem}.hero .lead{font-size:1.08rem;max-width:550px}.hero-background{margin-top:22px}.hero-mark{position:relative;text-align:center;align-self:center}.hero-mark img{position:relative;width:min(100%,405px);margin:auto;filter:drop-shadow(0 22px 28px rgba(0,0,0,.25))}.mascot-orbit{position:absolute;inset:7% 0 16%;border-radius:50%;background:radial-gradient(ellipse,rgba(20,156,255,.1),transparent 70%)}.hero-mark figcaption{position:relative;margin-top:8px;color:var(--muted);font-size:.82rem}.hero-mark .eyebrow{display:block;margin-bottom:4px;font-size:.64rem}.audience-paths{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-top:56px}.audience-paths a{position:relative;padding:24px 36px 24px 0;text-decoration:none;font-weight:600;font-size:.98rem}.audience-paths a+a{padding-left:24px;border-left:1px solid var(--line)}.audience-paths span{display:block;font-weight:400;color:var(--muted);font-size:.85rem;margin-bottom:6px}.audience-paths b{position:absolute;right:24px;bottom:26px;color:var(--blue-soft)}.audience-paths a:hover{color:var(--blue-soft)}.project-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:26px}.project-card{overflow:hidden;border:1px solid var(--line);border-radius:12px;background:var(--navy-soft);transition:border-color .18s}.project-card:hover{border-color:var(--line-strong)}.project-picture{display:block;text-decoration:none}.project-picture:focus-visible{outline-offset:-5px}.project-visual{position:relative;height:330px;overflow:hidden;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:28px;background:var(--surface)}.project-card-copy{padding:28px}.project-card-top{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;flex-wrap:wrap;margin-bottom:16px}.project-card-top .eyebrow{margin:0;font-size:.64rem}.project-card h3{font-size:1.6rem}.project-card h3 a{text-decoration:none}.project-card h3 a:hover{color:var(--blue-soft)}.project-card-copy>p{margin:12px 0 20px;color:var(--muted);font-size:1rem}.status{display:inline-flex;align-items:center;gap:7px;font-size:.74rem;font-weight:500;color:var(--cream);line-height:1.4}.status>span{width:6px;height:6px;border-radius:50%;background:var(--blue-soft);flex-shrink:0}.status--live>span{background:#add992}.status--development>span{background:#f4d389}.visual--budgets{background:linear-gradient(125deg,#0b2929,#103e3a);flex-direction:row;gap:24px;padding:26px 34px}.visual-caption{flex:1;align-self:flex-start;padding-top:12px;min-width:0}.visual-caption strong{display:block;font-size:1.7rem;line-height:1.2;letter-spacing:-.035em}.visual-caption .eyebrow{color:#bee0ce;font-size:.62rem}.phone-pair{display:flex;gap:14px;align-self:flex-start;width:63%;max-width:320px;transform:rotate(-5deg);flex-shrink:0}.phone-pair img{width:calc(50% - 7px);height:auto;border:3px solid #172d2d;border-radius:15px;box-shadow:0 12px 24px #03121260}.phone-pair img+img{margin-top:45px}.diagram-label{position:absolute;top:22px;left:26px;font:500 .62rem/1.5 IBM Plex Mono,monospace;text-transform:uppercase;letter-spacing:.1em;color:var(--muted)}.visual--drafter{background:linear-gradient(145deg,#10213a,#142d46);flex-direction:row;gap:28px}.draft-paper{width:200px;min-width:150px;padding:24px 20px;background:#f4f1ea;color:#18283a;border-radius:3px;box-shadow:8px 12px #05101e38;transform:rotate(-5deg);margin-top:20px}.draft-paper>span{display:block;font-size:.64rem;color:#39617b;margin-bottom:18px}.draft-paper strong{font-size:1.45rem;line-height:1.2;letter-spacing:-.04em}.draft-paper i{display:block;height:4px;background:#cfdae0;margin-top:10px}.draft-paper i:nth-of-type(1){margin-top:24px;width:90%}.draft-paper i:nth-of-type(2){width:80%}.draft-paper small{display:block;font-size:.55rem;margin-top:20px;color:#496177}.diagram-steps{margin:35px 0 0;padding:0;list-style:none;font-size:.83rem;counter-reset:steps}.diagram-steps li{counter-increment:steps;padding:10px 0;border-bottom:1px solid var(--line)}.diagram-steps li:before{content:"0" counter(steps);color:var(--blue-soft);font:500 .7rem IBM Plex Mono,monospace;display:block;margin-bottom:2px}.visual--panj{background:linear-gradient(140deg,#132740,#0a1b30)}.integration-map{text-align:center;margin-top:22px;width:80%;max-width:360px}.integration-map>span,.integration-map>strong,.integration-map>div>span{display:block;border:1px solid var(--line-strong);border-radius:6px;padding:12px 16px;font-size:.85rem;background:#08182b}.integration-map>strong{background:#124365}.integration-map>b{display:block;font-size:1.15rem;color:var(--blue-soft);padding:4px}.integration-map>div{display:grid;grid-template-columns:1fr 1fr;gap:12px}.visual--scram{background:#18342b;padding:0}.woodland-canvas{display:block;width:100%;height:auto;max-height:300px;object-fit:contain}.game-wordmark{display:flex;justify-content:space-between;align-items:center;width:100%;padding:0 26px 20px;gap:12px}.game-wordmark strong{color:#f5d27a;font-size:1.4rem;letter-spacing:-.04em}.game-wordmark span{color:#ccdbc4;font-size:.74rem}.visual--blanko{background:#154943}.visual--blanko .diagram-label{color:#c7dbcc}.blanko-poster{text-align:center}.blanko-poster>strong{display:block;font-size:3.6rem;letter-spacing:-.05em;color:#f8ebcf;transform:rotate(-4deg)}.blanko-poster>span{display:block;margin-top:8px;font-size:1.4rem}.blanko-poster>div{margin-top:24px;font:700 1rem IBM Plex Mono,monospace;word-spacing:16px;color:#f4d389}.blanko-poster i{display:inline-block;padding:12px;background:#f4f1ea;color:#154943;border-radius:4px;font-style:normal;transform:rotate(6deg)}.visual--portfolio{background:radial-gradient(circle at center,#103456,var(--navy-soft))}.portfolio-mark{height:220px;width:auto;object-fit:contain}.visual-wordmark{font-size:1.5rem;letter-spacing:-.05em}.visual-wordmark span{color:var(--blue)}.services-grid,.skills-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px}.service{padding-top:24px;border-top:1px solid var(--line-strong)}.service-number{display:block;font:500 .8rem IBM Plex Mono,monospace;color:var(--blue-soft);margin-bottom:24px}.service p{color:var(--muted);margin:16px 0 22px;font-size:.96rem}.background-panel,.approach-section{display:grid;grid-template-columns:.9fr 1.1fr;gap:70px;padding:40px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.background-panel p,.approach-section p{color:var(--muted);margin-bottom:18px}.play-feature{display:grid;grid-template-columns:1.1fr .9fr;gap:64px;align-items:center}.play-copy h2{font-size:clamp(2.3rem,4vw,3.2rem)}.play-copy>p:not(.eyebrow){color:var(--muted);max-width:480px;margin:22px 0 26px}.play-ticket{position:relative;transform:rotate(-4deg);padding:38px;border:1px solid #25608a;border-radius:12px;background:linear-gradient(140deg,#12324d,#0a1b30);box-shadow:14px 16px #149cff08}.play-ticket>.eyebrow{padding-right:45px;font-size:.65rem}.play-ticket strong{display:block;font-size:1.65rem;line-height:1.25;letter-spacing:-.03em;margin-top:32px}.ticket-dice{position:absolute;right:22px;top:26px;color:var(--blue);font-size:3rem;line-height:1;transform:rotate(10deg)}.ticket-line{display:block;margin-top:32px;padding-top:20px;border-top:1px dashed var(--line-strong);font:500 .65rem IBM Plex Mono,monospace;letter-spacing:.1em;text-transform:uppercase;color:var(--blue-soft)}.play-ticket small{display:block;margin-top:18px;color:var(--muted);font-size:.8rem}.contact-invitation{margin-top:104px;padding:40px 0 0;border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:36px}.contact-invitation p:not(.eyebrow){color:var(--muted);margin-top:14px}.contact-actions{display:flex;flex-direction:column;align-items:flex-start;gap:14px}.contact-actions .button{white-space:nowrap}.footer{border-top:1px solid var(--line);background:#030b15}.footer-inner{width:min(var(--max-width),calc(100% - 64px));margin:auto;padding:40px 0;display:flex;justify-content:space-between;gap:32px}.wordmark{font-weight:700;font-size:1.25rem;text-decoration:none;letter-spacing:-.035em}.footer p{font-size:.87rem;margin-top:8px;color:var(--muted)}.footer .footer-small{font-size:.77rem}.footer-links{display:flex;flex-direction:column;gap:10px;font-size:.83rem}.footer a:hover{color:var(--blue-soft)}.footer-links a,.footer-meta a{text-decoration:none}.footer-meta{display:flex;flex-direction:column;gap:12px;color:var(--muted);font-size:.8rem;text-align:right}.work-index{display:flex;border-block:1px solid var(--line);gap:40px;padding:22px 0}.work-index a{display:flex;align-items:center;gap:16px;text-decoration:none;font-weight:600;font-size:.97rem}.work-index a:hover{color:var(--blue-soft)}.work-index span{font:.7rem IBM Plex Mono,monospace;color:var(--muted)}.work-group{margin-top:64px}.group-intro{color:var(--muted);max-width:680px;margin-top:16px}.work-group .section-heading{align-items:flex-start}.work-group .section-heading>a{margin-top:36px}.back-link{margin-bottom:38px}.case-hero{display:grid;grid-template-columns:1.05fr .95fr;gap:54px;align-items:start}.case-hero .page-title{margin-top:20px;font-size:clamp(2.8rem,4.5vw,4rem)}.case-hero .lead{font-size:1.08rem}.case-visual .project-visual{height:390px;border-radius:12px}.case-visual figcaption{color:var(--muted);font-size:.78rem;line-height:1.6;margin-top:12px}.project-facts{margin:28px 0 0;display:grid;gap:16px}.project-facts dt{font:500 .65rem IBM Plex Mono,monospace;color:var(--blue-soft);letter-spacing:.08em;text-transform:uppercase;margin-bottom:5px}.project-facts dd{margin:0;color:var(--muted);font-size:.9rem;line-height:1.6}.tags{display:flex;flex-wrap:wrap;gap:7px;padding:0;list-style:none;margin:24px 0 0}.tags li{padding:6px 9px;border:1px solid var(--line);border-radius:4px;color:var(--muted);font:500 .7rem/1.4 IBM Plex Mono,monospace}.case-body{display:grid;grid-template-columns:220px minmax(0,1fr);gap:70px;margin-top:80px;padding-top:40px;border-top:1px solid var(--line)}.case-index{align-self:start;position:sticky;top:24px;display:flex;flex-direction:column;gap:14px}.case-index .eyebrow{margin:0 0 8px}.case-index a{font-size:.9rem;color:var(--muted);text-decoration:none}.case-index a:hover{color:var(--blue-soft)}.case-content>section+section{margin-top:64px}.case-content h2{font-size:2rem;margin-bottom:24px}.case-content p,.prose-list{color:var(--muted);font-size:1rem}.prose-list{padding-left:22px;margin:0}.prose-list li+li{margin-top:12px}.decision+.decision{margin-top:28px}.decision h3{font-size:1.18rem;margin-bottom:10px}.result-panel{border-left:2px solid var(--blue);padding:24px 28px;background:var(--navy-soft)}.result-panel p:last-child{margin-top:18px}.screenshot-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px;margin-top:30px}.screenshot-grid figure{border:1px solid var(--line);border-radius:10px;padding:24px;background:var(--navy-soft)}.screenshot-grid img{width:100%;max-width:240px;height:auto;border-radius:7px;margin:auto}.screenshot-grid figcaption{margin-top:20px;color:var(--muted);font-size:.86rem;text-align:center}.about-intro{display:grid;grid-template-columns:1.3fr .7fr;gap:68px;align-items:center}.intro-body{color:var(--muted);margin-top:22px}.about-note{border:1px solid var(--line);border-radius:12px;padding:30px;background:var(--navy-soft)}.about-note h2{font-size:1.7rem}.about-note>p:not(.eyebrow){margin-top:18px;color:var(--muted);font-size:.91rem}.note-signature{display:block;padding-top:22px;margin-top:24px;border-top:1px solid var(--line);font-size:.94rem}.note-signature small{display:block;color:var(--muted);margin-top:5px}.experience-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}.experience-list>li{display:grid;grid-template-columns:240px minmax(0,1fr);gap:50px;padding:30px 0;border-bottom:1px solid var(--line)}.experience-list>li.current-role{border-left:2px solid var(--blue);padding-left:24px;background:linear-gradient(90deg,#0a1b30,transparent)}.experience-dates{color:var(--muted);font:.8rem/1.7 IBM Plex Mono,monospace}.current-label{display:block;text-transform:uppercase;color:var(--blue-soft);font-size:.65rem;letter-spacing:.1em;margin-bottom:8px}.experience-copy h3{font-size:1.5rem}.role-title{color:var(--blue-soft);font-size:.9rem;margin-top:6px}.experience-copy ul{padding-left:20px;margin:16px 0 0;color:var(--muted);font-size:.94rem}.experience-copy li+li{margin-top:8px}.skill-card{padding:26px;border:1px solid var(--line);border-radius:10px;background:var(--navy-soft)}.skill-card p{margin-top:16px;color:var(--muted);font-size:.9rem}.skill-evidence{border-top:1px solid var(--line);margin-top:26px;padding-top:22px;display:flex;flex-direction:column;gap:10px}.skill-evidence .eyebrow{font-size:.6rem;margin:0 0 4px}.skill-evidence .text-link{font-size:.85rem}.flaffie-panel{display:flex;align-items:center;gap:40px;margin-top:80px;padding:30px;border:1px solid var(--line);border-radius:12px}.flaffie-panel img{width:150px;flex-shrink:0}.flaffie-panel h2{font-size:1.9rem}.flaffie-panel p:not(.eyebrow){color:var(--muted);margin-top:16px;max-width:690px;font-size:.94rem}.contact-email{display:inline-block;max-width:100%;font-size:clamp(1.4rem,4vw,2.6rem);letter-spacing:-.03em;text-decoration:none;color:var(--blue-soft);padding-bottom:16px;border-bottom:1px solid var(--line-strong);overflow-wrap:anywhere}.contact-email:hover{color:var(--cream)}.contact-contexts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px;margin-top:64px}.contact-contexts h2{font-size:1.35rem}.contact-contexts p:not(.eyebrow){margin:16px 0;color:var(--muted);font-size:.94rem}.contact-location{margin-top:60px;color:var(--muted);font-size:.85rem}.missing-page{min-height:60vh}.card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.card{padding:28px;border:1px solid var(--line);border-radius:12px;background:var(--surface)}.card h2{font-size:1.35rem}.badge{color:var(--blue-soft);font-size:.75rem}.summary{color:var(--muted)}@media(max-width:1000px){.hero{grid-template-columns:1.2fr .8fr;gap:24px}.display-title{font-size:clamp(3rem,5.7vw,4.5rem)}.hero-mark img{width:100%}.visual--budgets{padding:26px 24px;gap:16px}.visual-caption strong{font-size:1.4rem}.visual--drafter{gap:22px;padding:24px}.draft-paper{width:170px;padding:24px 16px}.diagram-steps{font-size:.76rem}.background-panel,.approach-section,.play-feature{gap:40px}.about-intro{gap:32px}.experience-list>li{grid-template-columns:200px minmax(0,1fr);gap:32px}.skills-grid{gap:16px}.skill-card{padding:22px}.case-hero{gap:32px}.case-body{grid-template-columns:180px minmax(0,1fr);gap:40px}.case-visual .project-visual{height:350px}.footer-inner{flex-wrap:wrap}.footer-meta{min-width:220px}}@media(max-width:800px){.page{width:calc(100% - 40px);padding-top:52px}.navbar,.footer-inner{width:calc(100% - 40px)}.navbar{height:80px}.nav-links{gap:24px}.brand-horizontal{width:185px}.hero{grid-template-columns:1fr}.hero-copy{max-width:650px}.hero-mark{display:flex;align-items:center;justify-content:center;gap:20px;max-width:500px;margin:8px auto 0}.hero-mark img{width:230px}.mascot-orbit{inset:0 15%}.hero-mark figcaption{text-align:left;max-width:140px}.display-title{font-size:clamp(3rem,8vw,4.2rem)}.audience-paths{margin-top:40px}.audience-paths a{font-size:.9rem;padding-right:26px}.audience-paths a+a{padding-left:16px}.audience-paths b{right:10px}.audience-paths span{font-size:.78rem}.section-space{margin-top:72px}.section-heading{align-items:flex-start;flex-direction:column;gap:18px}.section-description{max-width:650px}.project-grid{gap:20px}.project-visual{height:300px}.visual--budgets{padding:24px;flex-direction:column;gap:10px}.visual-caption{padding:0;align-self:stretch}.visual-caption .eyebrow{margin-bottom:4px}.visual-caption strong{font-size:1.1rem}.phone-pair{width:75%;align-self:center;gap:12px;margin-top:10px}.phone-pair img+img{margin-top:30px}.visual--drafter{gap:20px}.draft-paper{min-width:125px;width:140px}.draft-paper strong{font-size:1.2rem}.diagram-steps{font-size:.7rem}.project-card-copy{padding:22px}.services-grid{grid-template-columns:1fr;gap:28px}.service{display:grid;grid-template-columns:40px 1fr;column-gap:20px}.service-number{grid-row:1 / span 3;margin:0}.service p{margin-top:12px}.service>.text-link{grid-column:2}.background-panel,.approach-section{grid-template-columns:1fr;gap:24px}.play-feature{gap:28px}.play-ticket{padding:26px}.play-ticket strong{font-size:1.4rem}.contact-invitation{margin-top:72px;flex-direction:column;align-items:flex-start;gap:24px}.work-group .section-heading>a{margin:0}.case-hero{grid-template-columns:1fr}.case-visual{max-width:600px}.case-visual .project-visual{height:360px}.case-visual .visual--budgets{flex-direction:row}.case-visual .visual-caption{align-self:flex-start;padding-top:20px}.case-visual .phone-pair{width:60%;margin:0}.case-body{grid-template-columns:1fr;gap:36px;margin-top:52px}.case-index{position:static;flex-direction:row;flex-wrap:wrap;gap:16px}.case-index .eyebrow{flex-basis:100%}.case-content{max-width:760px}.about-intro{grid-template-columns:1fr;gap:40px}.about-note{max-width:600px}.skills-grid{grid-template-columns:1fr}.experience-list>li{grid-template-columns:170px 1fr;gap:28px}.contact-contexts{grid-template-columns:1fr;gap:30px}.contact-contexts article{border-top:1px solid var(--line);padding-top:24px}.contact-page .page-intro{margin-bottom:32px}}@media(max-width:600px){.page{width:calc(100% - 32px);padding:40px 0 64px}.navbar,.footer-inner{width:calc(100% - 32px)}.navbar{height:72px}.brand-horizontal{display:none}.brand-mascot,.menu-button{display:block}.nav-links{display:none;position:absolute;top:72px;left:16px;right:16px;padding:8px 22px 16px;flex-direction:column;align-items:stretch;gap:0;border:1px solid var(--line-strong);border-radius:0 0 8px 8px;background:var(--navy-soft)}.nav-links.open{display:flex}.nav-links a{padding:14px 0}.nav-links a:after{bottom:6px}.eyebrow{font-size:.65rem}.display-title{font-size:clamp(2.7rem,10vw,3.8rem)}.page-title{font-size:clamp(2.3rem,9vw,3.5rem)}.developer-intro{font-size:.9rem}.developer-intro span{font-size:.8rem}.lead{font-size:1.04rem}.hero .lead{font-size:1rem}.hero{gap:24px}.actions{gap:12px}.hero .actions{display:grid;grid-template-columns:1fr}.hero-mark{margin-top:4px}.hero-mark img{width:175px}.hero-mark figcaption{font-size:.74rem}.audience-paths{grid-template-columns:1fr;margin-top:32px}.audience-paths a{padding:19px 30px 19px 0;font-size:.94rem}.audience-paths a+a{padding-left:0;border-left:0;border-top:1px solid var(--line)}.audience-paths span{font-size:.82rem}.audience-paths b{right:8px;bottom:22px}.section-space{margin-top:64px}.project-grid{grid-template-columns:1fr;gap:24px}.project-visual{height:320px}.visual--budgets{flex-direction:row;padding:28px 24px}.visual-caption{align-self:flex-start;padding-top:10px}.visual-caption strong{font-size:1.4rem}.visual-caption .eyebrow{margin-bottom:12px}.phone-pair{width:60%;margin:0;align-self:flex-start}.visual--drafter{gap:28px}.draft-paper{width:170px}.diagram-steps{font-size:.8rem}.project-card-copy{padding:24px}.background-panel,.approach-section{padding:28px 0}.play-feature{grid-template-columns:1fr;gap:40px}.play-ticket{max-width:440px;margin:0 10px;transform:rotate(-3deg);padding:32px}.play-ticket strong{font-size:1.6rem}.play-copy h2{font-size:2.3rem}.contact-actions{max-width:100%;gap:18px}.contact-actions .button{white-space:normal;overflow-wrap:anywhere;padding:13px 16px;font-size:.9rem}.footer-inner{flex-direction:column;gap:26px;padding:32px 0}.footer-links{flex-direction:row;flex-wrap:wrap;gap:14px 20px}.footer-meta{text-align:left}.work-index{gap:0;justify-content:space-between;flex-wrap:wrap;padding:18px 0}.work-index a{font-size:.85rem;gap:7px}.work-index span{font-size:.64rem}.work-group{margin-top:48px}.case-hero .page-title{font-size:2.8rem}.case-hero .actions{align-items:flex-start;flex-direction:column}.case-visual .project-visual{height:320px}.case-body{padding-top:26px;gap:32px}.case-content h2{font-size:1.75rem}.case-content>section+section{margin-top:48px}.result-panel{padding:22px}.screenshot-grid{gap:16px}.screenshot-grid figure{padding:14px}.screenshot-grid figcaption{font-size:.75rem}.about-note{padding:26px}.experience-list>li{grid-template-columns:1fr;gap:14px;padding:26px 0}.experience-list>li.current-role{padding-left:18px;padding-right:14px}.experience-dates{font-size:.74rem}.current-label{margin-bottom:4px}.experience-copy h3{font-size:1.35rem}.experience-copy ul{font-size:.9rem}.flaffie-panel{align-items:flex-start;gap:22px;padding:22px;flex-direction:column;margin-top:64px}.flaffie-panel img{width:100px}.flaffie-panel h2{font-size:1.6rem}.contact-email{font-size:clamp(1.2rem,5.2vw,1.8rem)}.card-grid{grid-template-columns:1fr}}@media(max-width:360px){.visual--drafter{gap:18px;padding:24px 18px}.draft-paper{width:140px}.diagram-steps{font-size:.72rem}.visual--budgets{padding:26px 18px;gap:12px}.visual-caption strong{font-size:1.2rem}.work-index a{font-size:.78rem}.work-index span{display:none}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}
