.studio-section{padding-block:112px;background:var(--soft-green)}.studio-heading{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);align-items:start;gap:64px;margin-bottom:64px}.studio-title{max-width:17ch}.studio-story{min-width:0;padding-top:34px}.studio-story p{max-width:54ch;color:var(--muted);font-size:17px;line-height:1.8}.studio-story p+p{margin-top:18px}.studio-story strong{color:var(--ink);font-weight:600}.studio-story .text-link{margin-top:18px}.studio-principles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));align-items:start;gap:24px}.studio-principle{padding-top:24px;border-top:1px solid #bbc7b4}.studio-principle-symbol{display:flex;justify-content:space-between;align-items:center;margin-bottom:32px;color:#50684d}.studio-principle-symbol svg{width:32px;height:32px}.studio-principle-symbol span{color:var(--muted);font:11px var(--font-mono)}.studio-principle h3{margin-bottom:12px;font:500 20px/1.3 var(--font-display);letter-spacing:-.035em}.studio-principle p{max-width:28ch;color:var(--muted);font-size:14px;line-height:1.75}.notes-section{padding-block:100px 36px}.notes-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:48px;margin-bottom:40px}.notes-heading .section-intro{max-width:370px}.notes-heading .section-title{max-width:15ch}.notes-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;justify-items:start;gap:24px}.notes-card{align-self:start;width:100%;max-width:360px;border-top:1px solid #b9c0b4;padding:24px 0 16px}.notes-card-top{display:flex;align-items:center;justify-content:space-between;color:var(--accent);margin-bottom:26px}.notes-card-top svg{width:32px;height:32px}.notes-card-top span{color:var(--muted);font:11px var(--font-mono)}.notes-card h3{margin-bottom:12px;font:500 22px/1.25 var(--font-display);letter-spacing:-.04em}.notes-card p{color:var(--muted);font-size:15px;line-height:1.75}.recovery-page{min-height:100svh;display:grid;place-items:center;padding:clamp(20px,4vw,32px);background:var(--paper)}.recovery-card{width:-moz-fit-content;width:fit-content;min-width:0;max-width:min(100%,540px);padding:40px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface)}.recovery-card .section-title{margin-bottom:20px;font-size:clamp(28px,4vw,42px)}.recovery-card .button{margin-top:28px}@media (max-width: 959px){.studio-heading{grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:40px}.studio-principles{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px}.notes-grid{gap:20px}}@media (max-width: 767px){.studio-section{padding-block:64px}.studio-heading{grid-template-columns:minmax(0,1fr);gap:28px;margin-bottom:40px}.studio-story{padding-top:0}.studio-story p{font-size:16px}.studio-principles{gap:28px 20px}.studio-principle h3{font-size:18px}.studio-principle-symbol{margin-bottom:22px}.notes-section{padding-block:64px 0}.notes-heading{display:block;margin-bottom:32px}.notes-heading .section-intro{margin-top:24px}.notes-grid{grid-template-columns:minmax(0,1fr);gap:12px}.notes-card{padding-bottom:24px}.notes-card-top{margin-bottom:20px}.recovery-card{padding:24px}}@media (max-width: 399px){.studio-principles{grid-template-columns:minmax(0,1fr)}}.header-root{--header-height: 88px;position:sticky;top:0;z-index:60;box-sizing:border-box;height:var(--header-height);transform:none;filter:none;-webkit-backdrop-filter:none;backdrop-filter:none;contain:none;background:var(--paper);border-bottom:1px solid var(--line);color:var(--ink);font-family:var(--font-body)}.header-inner{display:flex;align-items:center;justify-content:space-between;gap:32px;height:100%;transform:none;filter:none;-webkit-backdrop-filter:none;backdrop-filter:none;contain:none}.header-brand{display:inline-flex;flex-shrink:0;align-items:center;gap:12px;min-height:44px;border-radius:5px;color:var(--ink);font-family:var(--font-display);font-size:22px;font-weight:600;letter-spacing:-.05em;line-height:1;text-decoration:none}.header-mark{display:block;flex-shrink:0;width:36px;height:36px;border-radius:50%;-o-object-fit:contain;object-fit:contain}.header-brand-period{color:var(--accent)}.header-navigation{margin-inline-start:auto}.header-links{display:flex;align-items:center;gap:4px;margin:0;padding:0;list-style:none}.header-link-item{margin:0;padding:0}.header-section-link{position:relative;display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding-inline:16px;border-radius:7px;color:var(--muted);font-size:14px;font-weight:500;line-height:1.4;text-decoration:none;text-transform:capitalize;transition:color .16s ease,background-color .16s ease}.header-section-link:after{position:absolute;right:16px;bottom:5px;left:16px;height:2px;background:var(--accent);content:"";opacity:0}.header-section-link[aria-current=location]{color:var(--ink)}.header-section-link[aria-current=location]:after{opacity:1}.header-contact{display:inline-flex;align-items:center;justify-content:center;gap:20px;box-sizing:border-box;min-height:46px;margin-inline-start:20px;padding:12px 20px;border:1px solid var(--accent);border-radius:8px;background:var(--accent);color:var(--surface);font-size:14px;font-weight:500;line-height:1.4;text-decoration:none;text-transform:capitalize;transition:background-color .16s ease,border-color .16s ease}.header-contact>svg{flex-shrink:0}.header-menu-note{display:none;margin:0}.header-toggle{display:none;flex-shrink:0;align-items:center;justify-content:center;flex-direction:column;gap:6px;box-sizing:border-box;width:44px;height:44px;padding:0;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--ink);cursor:pointer}.header-toggle-line{display:block;width:18px;height:2px;background:currentColor;transition:transform .16s ease}.header-toggle-open .header-toggle-line:first-child{transform:translateY(4px) rotate(45deg)}.header-toggle-open .header-toggle-line:last-child{transform:translateY(-4px) rotate(-45deg)}.header-brand:focus-visible,.header-section-link:focus-visible,.header-contact:focus-visible,.header-toggle:focus-visible,.landing-primary:focus-visible,.landing-secondary:focus-visible{outline:3px solid var(--accent);outline-offset:4px}.landing-hero{padding-block:clamp(64px,6.7vw,104px) 0;background:var(--paper);color:var(--ink);font-family:var(--font-body)}.landing-hero-grid{display:grid;grid-template-columns:minmax(0,1.06fr) minmax(0,1fr);align-items:start;gap:clamp(32px,4vw,60px)}.landing-copy{min-width:0}.landing-eyebrow{display:flex;align-items:center;gap:10px;margin:0;color:var(--muted);font-size:11px;letter-spacing:.07em;line-height:1.6}.landing-eyebrow-mark{display:block;flex-shrink:0;width:8px;height:8px;background:var(--accent)}.landing-title{margin:24px 0;color:var(--ink);font-family:var(--font-display);font-size:clamp(48px,5.2vw,68px);font-weight:500;letter-spacing:-.065em;line-height:1.06;text-wrap:balance}.landing-title-line{display:block}.landing-title-accent{color:var(--accent)}.landing-description{max-width:455px;margin:0;color:var(--muted);font-size:18px;line-height:1.7}.landing-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:32px}.landing-primary,.landing-secondary{display:inline-flex;align-items:center;justify-content:center;gap:20px;box-sizing:border-box;width:-moz-fit-content;width:fit-content;max-width:100%;min-height:52px;padding:14px 22px;border-radius:8px;font-family:var(--font-body);font-size:14px;font-weight:500;line-height:1.4;text-decoration:none;transition:color .16s ease,background-color .16s ease,border-color .16s ease}.landing-primary{border:1px solid var(--ink);background:var(--ink);color:var(--surface)}.landing-secondary{border:1px solid var(--line);background:transparent;color:var(--ink)}.landing-primary>svg,.landing-secondary>svg{flex-shrink:0}.landing-primary>svg{transition:transform .16s ease}.landing-copy-note{max-width:455px;margin:24px 0 0;color:var(--muted);font-size:12px;letter-spacing:.015em;line-height:1.6}.landing-system{align-self:start;justify-self:start;box-sizing:border-box;width:100%;min-width:0;max-width:440px;margin:0;padding:22px 20px 18px;border:1px solid var(--line);border-radius:var(--radius);background:var(--soft-green)}.landing-system-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-bottom:12px;color:var(--ink);font-size:13px;font-weight:500;line-height:1.5}.landing-system-heading>svg{flex-shrink:0;color:var(--accent)}.landing-system-drawing{display:block;width:100%;max-width:400px;height:auto;margin:4px auto 14px}.landing-system-caption{padding-top:15px;border-top:1px solid #cdd5c6}.landing-system-key{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 14px;margin:0;padding:0;list-style:none}.landing-system-key>li{display:flex;align-items:baseline;gap:6px;color:var(--ink);font-size:12px;line-height:1.5}.landing-system-key>li>span{color:var(--muted);font-family:var(--font-mono);font-size:10px}.landing-system-caption>p{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:12px 0 0;color:var(--muted);font-family:var(--font-mono);font-size:11px;letter-spacing:.01em;line-height:1.6}.landing-system-caption>p>span{font-size:14px}.landing-values{display:grid;grid-template-columns:160px repeat(3,minmax(0,1fr));align-items:center;gap:28px;margin-top:clamp(52px,6.5vw,96px);padding-block:30px 34px;border-top:1px solid var(--line)}.landing-values-intro{max-width:135px;margin:0;color:var(--muted);font-family:var(--font-mono);font-size:11px;line-height:1.7}.landing-value{display:flex;align-items:center;gap:12px;min-width:0}.landing-value>svg{display:block;flex-shrink:0;width:28px;height:28px;color:var(--ink)}.landing-value>div{min-width:0}.landing-value strong{display:block;color:var(--ink);font-size:14px;font-weight:500;line-height:1.5}.landing-value span{display:block;margin-top:3px;color:var(--muted);font-size:12px;line-height:1.6}@media (hover: hover){.header-section-link:hover{background:var(--soft-green);color:var(--ink)}.header-contact:hover{border-color:var(--accent-hover);background:var(--accent-hover)}.header-toggle:hover{border-color:var(--muted)}.landing-primary:hover{border-color:var(--accent);background:var(--accent)}.landing-primary:hover>svg{transform:translate(3px)}.landing-secondary:hover{border-color:var(--muted);background:var(--surface);color:var(--ink)}}@media (max-width: 1099px){.landing-values{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:20px 28px}.landing-values-intro{grid-column:1 / -1;max-width:none}}@media (max-width: 959px){.landing-hero{padding-top:64px}.landing-hero-grid{grid-template-columns:minmax(0,1fr);gap:48px}.landing-copy{max-width:740px}.landing-title{font-size:clamp(36px,8vw,56px)}.landing-description{max-width:540px}.landing-values{margin-top:48px}}@media (max-width: 799px){.header-root{--header-height: 76px}.header-inner{gap:16px}.header-brand{gap:10px;font-size:21px}.header-mark{width:32px;height:32px}.header-navigation{position:fixed;top:var(--header-height);right:0;left:0;display:none;box-sizing:border-box;height:calc(100vh - var(--header-height));height:calc(100dvh - var(--header-height));margin:0;padding:32px 24px max(28px,env(safe-area-inset-bottom));overflow-y:auto;overscroll-behavior:contain;background:var(--paper)}.header-navigation-open{display:flex;flex-direction:column}.header-links{flex-direction:column;align-items:stretch;gap:0;width:100%}.header-link-item{border-bottom:1px solid var(--line)}.header-link-item:last-child{padding-top:28px;border-bottom:0}.header-section-link{display:flex;align-items:center;justify-content:flex-start;box-sizing:border-box;width:100%;min-height:74px;padding:14px 0;border-radius:3px;color:var(--ink);font-family:var(--font-display);font-size:32px;font-weight:500;letter-spacing:-.045em;line-height:1.3}.header-section-link:after{display:none}.header-section-link[aria-current=location]{color:var(--accent)}.header-contact{justify-content:space-between;width:100%;min-height:56px;margin:0;padding:16px 20px;font-size:16px}.header-menu-note{display:block;margin-top:auto;padding-top:40px;color:var(--muted);font-size:16px;line-height:1.65}.header-toggle{display:flex}}@media (max-width: 639px){.landing-hero{padding-top:48px}.landing-hero-grid{gap:36px}.landing-eyebrow{gap:9px;font-size:10px;letter-spacing:.055em}.landing-title{margin:20px 0;letter-spacing:-.06em;line-height:1.08}.landing-description{font-size:17px;line-height:1.65}.landing-actions{gap:10px;margin-top:28px}.landing-primary,.landing-secondary{gap:16px;min-height:50px;padding-inline:18px}.landing-copy-note{margin-top:20px}.landing-system{padding:18px 14px 16px;border-radius:16px}.landing-system-heading{font-size:12px}.landing-system-key{gap:8px 12px}.landing-values{grid-template-columns:minmax(0,1fr);gap:0;margin-top:40px;padding-block:24px}.landing-values-intro{grid-column:auto;padding-bottom:18px}.landing-value{gap:14px;padding-block:18px;border-top:1px solid var(--line)}.landing-value:last-child{padding-bottom:0}.landing-value strong{font-size:15px}.landing-value span{font-size:13px}}@media (max-width: 379px){.landing-actions{align-items:flex-start;flex-direction:column}.landing-copy-note{max-width:250px}.landing-system-key{align-items:flex-start;flex-direction:column}}@media (max-width: 799px) and (max-height: 519px){.header-navigation{padding-top:16px}.header-section-link{min-height:56px;padding-block:10px;font-size:26px}.header-link-item:last-child{padding-top:16px}.header-menu-note{padding-top:24px;font-size:14px}}@media (prefers-reduced-motion: reduce){.header-section-link,.header-contact,.header-toggle-line,.landing-primary,.landing-secondary,.landing-primary>svg{transition:none}.landing-primary:hover>svg{transform:none}}.diagram-svg{touch-action:none;overflow:visible}.diagram-svg .diagram-layers{outline:none}.diagram-svg .diagram-part{cursor:grab;outline:none;pointer-events:visiblePainted}.diagram-svg .diagram-part:active,.diagram-svg[data-dragging],.diagram-svg[data-dragging] .diagram-part{cursor:grabbing}.diagram-svg .diagram-part-hit{fill:transparent;stroke:none;pointer-events:none}.diagram-svg .diagram-part:focus-visible>.diagram-part-hit{fill:color-mix(in srgb,var(--product-accent, var(--accent)) 10%,transparent)}.diagram-svg .diagram-packet,.diagram-svg .diagram-circuit,.diagram-svg .diagram-stage,.diagram-svg .diagram-deploy-scan,.diagram-svg .diagram-mail-letter,.diagram-svg .diagram-playhead,.diagram-svg .diagram-record,.diagram-svg .diagram-api-scan{pointer-events:none;animation-delay:var(--diagram-delay, 0s);animation-iteration-count:infinite;animation-timing-function:linear;animation-play-state:paused}.diagram-svg .diagram-packet,.diagram-svg .diagram-circuit{fill:none;stroke:var(--product-accent, var(--accent));stroke-linecap:round;stroke-dashoffset:0;animation-name:diagram-trace}.diagram-svg .diagram-packet{stroke-width:2.8;stroke-dasharray:3 97;animation-duration:3.2s}.diagram-svg .diagram-circuit{stroke-width:1.8;stroke-dasharray:8 92;animation-duration:5s}.diagram-svg .diagram-stage{fill:var(--product-accent, var(--accent));opacity:1;animation-name:diagram-stage;animation-duration:4.8s;animation-timing-function:ease-in-out}.diagram-svg .diagram-deploy-scan,.diagram-svg .diagram-playhead,.diagram-svg .diagram-api-scan{fill:none;stroke:var(--product-accent, var(--accent));stroke-width:1.8;stroke-linecap:round;opacity:0}.diagram-svg .diagram-deploy-scan{animation-name:diagram-deploy-scan;animation-duration:3.2s}.diagram-svg .diagram-mail-letter{opacity:0;transform:translateY(8px);animation-name:diagram-mail-letter;animation-duration:3.8s}.diagram-svg .diagram-playhead{animation-name:diagram-playhead;animation-duration:3.6s}.diagram-svg .diagram-record{fill:none;stroke:var(--product-accent, var(--accent));stroke-width:1.8;stroke-dasharray:3 8;transform-box:fill-box;transform-origin:center;animation-name:diagram-record;animation-duration:12s}.diagram-svg .diagram-api-scan{animation-name:diagram-api-scan;animation-duration:3.6s}.diagram-svg[data-playing=true] .diagram-packet,.diagram-svg[data-playing=true] .diagram-circuit,.diagram-svg[data-playing=true] .diagram-stage,.diagram-svg[data-playing=true] .diagram-deploy-scan,.diagram-svg[data-playing=true] .diagram-mail-letter,.diagram-svg[data-playing=true] .diagram-playhead,.diagram-svg[data-playing=true] .diagram-record,.diagram-svg[data-playing=true] .diagram-api-scan{animation-play-state:running}@keyframes diagram-trace{0%{stroke-dashoffset:0}to{stroke-dashoffset:-100}}@keyframes diagram-stage{0%,15%{fill:var(--product-accent, var(--accent));opacity:1}25%,to{fill:var(--product-route, var(--muted));opacity:.35}}@keyframes diagram-deploy-scan{0%{transform:translate(0);opacity:0}12%,88%{opacity:1}to{transform:translate(120px);opacity:0}}@keyframes diagram-mail-letter{0%{transform:translateY(8px);opacity:0}18%,70%{opacity:1}to{transform:translateY(-10px);opacity:0}}@keyframes diagram-playhead{0%{transform:translate(0);opacity:0}12%,88%{opacity:1}to{transform:translate(124px);opacity:0}}@keyframes diagram-record{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes diagram-api-scan{0%{transform:translateY(0);opacity:0}12%,88%{opacity:1}to{transform:translateY(70px);opacity:0}}@media (prefers-reduced-motion: reduce){.diagram-svg .diagram-packet,.diagram-svg .diagram-circuit,.diagram-svg .diagram-stage,.diagram-svg .diagram-deploy-scan,.diagram-svg .diagram-mail-letter,.diagram-svg .diagram-playhead,.diagram-svg .diagram-record,.diagram-svg .diagram-api-scan{animation:none!important}}.work-section{padding-block:112px}.work-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:48px;margin-bottom:44px}.work-heading .section-title{margin:0;font-size:clamp(2.5rem,5vw,4.25rem);line-height:1.08;letter-spacing:-.045em}.work-intro{max-width:390px;margin:0;font-size:16px;line-height:1.75}.work-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;justify-items:start;gap:28px}.work-card{display:flex;align-self:start;width:100%;min-width:0;max-width:520px;flex-direction:column;overflow:hidden;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface)}.work-preview{--product-ink: #412e24;--product-accent: #9a442e;--product-soft: #f3e6dc;--product-shade: #e6cabb;--product-outline: #d1b8a7;--product-route: #b67b60;width:100%;max-width:520px;margin:0;padding:20px 18px 14px;border-bottom:1px solid var(--line);background:var(--product-soft)}.work-preview-mail{--product-ink: #314535;--product-accent: #425c48;--product-soft: #e9eee3;--product-shade: #d3dfcd;--product-outline: #bfcdb7;--product-route: #8d9d82}.work-preview-audio{--product-ink: #463752;--product-accent: #63517d;--product-soft: #eeebf5;--product-shade: #ded5ec;--product-outline: #ccc0dc;--product-route: #9f8dbb}.work-preview-download{--product-ink: #304b61;--product-accent: #426580;--product-soft: #e6edf4;--product-shade: #cedce9;--product-outline: #bbcad9;--product-route: #849fb9}.work-preview-caption{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-inline:6px;color:var(--product-ink);font-family:var(--font-mono);font-size:11px;line-height:1.5}.work-concept-label{flex-shrink:0;padding:3px 7px;border:1px solid var(--product-outline);border-radius:4px;font-size:10px;letter-spacing:.05em;text-transform:uppercase}.work-illustration{display:block;width:100%;max-width:400px;height:auto;margin:10px auto 0}.interactive-work-diagram{min-width:0}.work-svg-paper{fill:var(--surface)}.work-svg-outline{stroke:var(--product-outline);stroke-width:1.3}.work-svg-soft{fill:var(--product-soft)}.work-svg-shade{fill:var(--product-shade)}.work-svg-solid{fill:var(--product-accent)}.work-svg-route{fill:none;stroke:var(--product-route);stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.work-svg-icon,.work-svg-inverse-icon{fill:none;stroke:var(--product-accent);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.work-svg-inverse-icon{stroke:#fff}.work-svg-rule{stroke:var(--product-outline);stroke-width:1}.work-svg-placeholder{stroke:var(--product-outline);stroke-width:3;stroke-linecap:round}.work-svg-brand,.work-svg-inverse-brand{fill:var(--product-ink);font-family:var(--font-display);font-size:24px;font-weight:600;letter-spacing:-.5px}.work-svg-inverse-brand{fill:#fff}.work-svg-label{fill:var(--product-ink);font-family:var(--font-body);font-size:15px;font-weight:500}.work-svg-small,.work-svg-code{fill:var(--product-ink);font-family:var(--font-mono);font-size:12px}.work-svg-code{font-size:15px}.work-svg-spaced{letter-spacing:1.5px}.work-card-content{display:flex;flex-direction:column;padding:28px}.work-category{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin:0 0 7px;color:var(--muted);font-family:var(--font-mono);font-size:11px;line-height:1.6;letter-spacing:.055em;text-transform:uppercase}.work-index{flex-shrink:0;letter-spacing:0}.work-project-title{margin:0 0 10px;color:var(--ink);font-family:var(--font-display);font-size:clamp(1.75rem,3vw,2.125rem);font-weight:600;line-height:1.15;letter-spacing:-.04em}.work-project-title a{display:inline-flex;min-height:44px;align-items:center;color:inherit;text-decoration:none}.work-project-title a:hover{color:var(--accent)}.work-description{margin:0 0 18px;color:var(--muted);font-size:15px;line-height:1.75}.work-tags{display:flex;flex-wrap:wrap;gap:0 16px;margin:0 0 16px;padding:0;list-style:none}.work-tags li{display:flex;align-items:center;color:var(--muted);font-family:var(--font-mono);font-size:11px;line-height:1.5}.work-tags a,.work-tags li>span{display:inline-flex;min-height:44px;align-items:center;color:inherit;text-decoration-color:var(--line);text-underline-offset:4px}.work-tags a:hover{color:var(--ink);text-decoration-color:currentColor}.work-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-start;gap:8px 16px;padding-top:20px;border-top:1px solid var(--line)}.work-live-link,.work-source-link{display:inline-flex;min-height:44px;align-items:center;justify-content:center;gap:10px;font-size:13px;font-weight:600;line-height:1.4;text-decoration:none;transition:color .16s ease,background-color .16s ease}.work-live-link{padding:11px 15px;border:1px solid var(--ink);border-radius:7px;background:var(--ink);color:var(--surface)}.work-live-link:hover{border-color:var(--accent);background:var(--accent)}.work-source-link{padding-block:11px;color:var(--muted);text-decoration:underline;text-decoration-color:var(--line);text-underline-offset:4px}.work-source-link:hover{color:var(--ink);text-decoration-color:currentColor}.work-actions svg{width:16px;height:16px;flex-shrink:0}.expertise-section{padding-block:104px;border-block:1px solid var(--line);background:var(--paper)}.expertise-layout{display:grid;grid-template-columns:minmax(0,.75fr) minmax(0,1.4fr);align-items:start;gap:88px}.expertise-heading .section-title{max-width:350px;margin:0;font-size:clamp(2.5rem,4.5vw,3.875rem);line-height:1.06;letter-spacing:-.045em}.expertise-intro{max-width:315px;margin:24px 0 0;font-size:16px;line-height:1.75}.expertise-footnote{display:flex;max-width:315px;align-items:center;gap:20px;margin-top:64px;padding-top:22px;border-top:1px solid var(--line);color:var(--muted);font-size:13px;line-height:1.6}.expertise-braces{color:var(--ink);font-family:var(--font-display);font-size:46px;font-weight:400;line-height:1;letter-spacing:-.08em}.expertise-categories{min-width:0;margin:0;padding:0;border-top:1px solid var(--line);list-style:none}.expertise-category{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.15fr);align-items:start;gap:28px;padding-block:28px;border-bottom:1px solid var(--line)}.expertise-category-heading{display:flex;min-width:0;align-items:baseline;gap:16px;padding-top:8px}.expertise-number{flex-shrink:0;color:var(--muted);font-family:var(--font-mono);font-size:11px;line-height:1.5}.expertise-category-heading h3{margin:0;color:var(--ink);font-family:var(--font-display);font-size:24px;font-weight:500;line-height:1.2;letter-spacing:-.035em}.expertise-category-heading p{margin:9px 0 0;color:var(--muted);font-size:12px;line-height:1.6}.expertise-tech-list{display:flex;min-width:0;flex-wrap:wrap;align-content:start;gap:0 20px;margin:0;padding:0;list-style:none}.expertise-tech-list li{min-width:0;max-width:100%}.expertise-tech-list a,.expertise-tech-name{display:inline-flex;min-height:44px;align-items:center;gap:7px;color:var(--ink);font-size:14px;font-weight:500;line-height:1.5;overflow-wrap:anywhere;text-decoration:underline;text-decoration-color:#a5b2a0;text-underline-offset:4px;transition:color .16s ease,text-decoration-color .16s ease}.expertise-tech-name{text-decoration:none}.expertise-link-arrow{flex-shrink:0;color:var(--muted);font-family:var(--font-body);font-size:13px}.expertise-tech-list a:hover{color:var(--accent-hover);text-decoration-color:currentColor}.work-section a:focus-visible,.expertise-section a:focus-visible{border-radius:3px;outline:3px solid var(--accent);outline-offset:4px}@media (max-width: 1000px){.expertise-layout{gap:48px}.expertise-category{grid-template-columns:minmax(0,.9fr) minmax(0,1fr);gap:20px}}@media (max-width: 900px){.work-heading{align-items:flex-start;flex-direction:column;gap:20px;margin-bottom:36px}.work-intro{max-width:510px}.expertise-layout{grid-template-columns:minmax(0,1fr);gap:40px}.expertise-heading{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 32px}.expertise-heading .eyebrow{grid-column:1 / -1;margin:0}.expertise-heading .section-title{max-width:370px}.expertise-intro{align-self:end;margin:0}.expertise-footnote{grid-column:1 / -1;max-width:none;margin-top:8px;padding-top:20px}.expertise-category{grid-template-columns:minmax(0,.7fr) minmax(0,1fr);gap:32px}}@media (max-width: 760px){.work-section{padding-block:80px}.work-grid{grid-template-columns:minmax(0,1fr);gap:24px}.work-card-content{padding:28px}.expertise-section{padding-block:80px}}@media (max-width: 600px){.work-section,.expertise-section{padding-block:64px}.work-heading{gap:18px;margin-bottom:28px}.expertise-heading{display:block}.expertise-heading .eyebrow{margin-bottom:16px}.expertise-heading .section-title{max-width:360px}.expertise-intro{max-width:440px;margin-top:20px}.expertise-footnote{margin-top:28px}.expertise-category{grid-template-columns:minmax(0,1fr);gap:12px;padding-block:24px}.expertise-category-heading{padding-top:0}.expertise-category-heading p{margin-top:6px}.expertise-tech-list{padding-left:30px}}@media (max-width: 420px){.work-grid{gap:20px}.work-preview{padding:16px 12px 10px}.work-preview-caption{gap:8px;padding-inline:4px;font-size:10px}.work-concept-label{padding:3px 5px;font-size:9px}.work-card-content{padding:22px 20px}.work-category{gap:10px;font-size:10px;letter-spacing:.025em}.work-description{font-size:14px}.work-tags{gap:0 14px;margin-bottom:12px}.work-actions{padding-top:16px}.work-live-link{padding-inline:12px}.expertise-layout{gap:32px}.expertise-tech-list{gap:0 16px}}@media (prefers-reduced-motion: reduce){.work-section a,.expertise-section a{transition:none}}.contact-section{padding-block:88px 72px;background:var(--paper);font-family:var(--font-body);scroll-margin-top:96px}.contact-panel{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.06fr);align-items:start;gap:56px;padding:48px;border-radius:var(--radius);background:#253a2f;color:#f4f5ec}.contact-copy{display:flex;flex-direction:column;align-items:flex-start;width:100%;min-width:0;max-width:460px;padding-block:12px}.contact-eyebrow,.contact-form-kicker,.footer-kicker,.footer-nav-title,.notfound-eyebrow{margin:0;font-family:var(--font-mono);font-size:11px;font-weight:500;line-height:1.6;letter-spacing:.1em;text-transform:uppercase}.contact-eyebrow{display:flex;align-items:center;gap:12px;color:#d5e0ce}.contact-eyebrow:before{width:26px;height:1px;background:currentColor;content:""}.contact-headline{max-width:10ch;margin:30px 0 24px;font-family:var(--font-display);font-size:clamp(2.7rem,5.3vw,4.25rem);font-weight:500;line-height:1.05;letter-spacing:-.055em}.contact-headline span{color:#e8c6ad}.contact-intro{max-width:35ch;margin:0;color:#e4e9df;font-size:17px;line-height:1.7}.contact-scope{max-width:35ch;margin:18px 0 0;color:#c0cebf;font-size:13px;line-height:1.7}.contact-direct{width:100%;max-width:400px;margin-top:32px}.contact-direct-title{margin:0 0 16px;color:#e4e9df;font-size:14px;font-weight:500}.contact-channels{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));-moz-column-gap:24px;column-gap:24px}.contact-channel{display:flex;flex-direction:column;gap:5px;min-width:0;padding-block:16px;border-top:1px solid #657567;color:#f4f5ec;text-decoration:none}.contact-channel-title{display:flex;align-items:center;justify-content:flex-start;gap:12px;font-size:14px;font-weight:600}.contact-channel-title>span{color:#e8c6ad;font-size:19px;line-height:1}.contact-channel-value{color:#c0cebf;font-size:12px;line-height:1.5;overflow-wrap:anywhere}.contact-channel:hover .contact-channel-title{text-decoration:underline;text-underline-offset:4px}.contact-channel:focus-visible{outline:3px solid #e8c6ad;outline-offset:5px}.contact-form{display:flex;flex-direction:column;align-self:start;justify-self:start;gap:20px;width:100%;min-width:0;max-width:480px;padding:32px;border:1px solid var(--line);border-radius:16px;background:var(--surface);color:var(--ink);box-shadow:0 18px 40px #101e1826;color-scheme:light}.contact-form-header{margin-bottom:4px}.contact-form-kicker{color:var(--accent);font-size:10px}.contact-form-title{margin:9px 0 10px;font-family:var(--font-display);font-size:clamp(1.6rem,2.5vw,2rem);font-weight:500;line-height:1.2;letter-spacing:-.04em}.contact-form-header>p{margin:0;color:var(--muted);font-size:12px;line-height:1.6}.contact-field-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.contact-field{display:flex;flex-direction:column;gap:8px;min-width:0}.contact-label-row{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.contact-label{color:var(--ink);font-size:13px;font-weight:600;line-height:1.5}.contact-input{display:block;box-sizing:border-box;width:100%;min-width:0;min-height:48px;padding:12px 13px;border:1px solid #899283;border-radius:7px;background:#fff;color:var(--ink);font:inherit;font-size:16px;line-height:1.5;transition:border-color .15s ease,background-color .15s ease}.contact-input::-moz-placeholder{color:#687061;opacity:1}.contact-input::placeholder{color:#687061;opacity:1}.contact-input:hover:not(:disabled){border-color:var(--ink)}.contact-input:focus{border-color:var(--accent)}.contact-input:focus-visible,.contact-submit:focus-visible,.contact-verification:focus-visible,.contact-feedback a:focus-visible{outline:3px solid var(--accent);outline-offset:3px}.contact-input[aria-invalid=true]{border-color:var(--accent-hover);border-width:2px;padding:11px 12px;background:#fff9f5}.contact-input:disabled{background:var(--paper);color:var(--muted);cursor:wait;opacity:1}.contact-textarea{min-height:146px;resize:vertical}.contact-field-note,.contact-field-error{margin:0;font-size:12px;line-height:1.5}.contact-field-note{color:var(--muted)}.contact-field-error{color:var(--accent-hover)}.contact-verification{min-width:0;max-width:100%;overflow-x:auto;padding:4px;border-radius:6px}.contact-submit{display:inline-flex;align-self:flex-start;align-items:center;justify-content:center;gap:20px;width:-moz-fit-content;width:fit-content;max-width:100%;min-height:54px;padding:14px 20px;border:1px solid var(--accent);border-radius:7px;background:var(--accent);color:#fff;font:inherit;font-size:15px;font-weight:600;line-height:1.5;cursor:pointer;transition:background-color .15s ease,border-color .15s ease}.contact-submit>span:last-child{font-size:22px;line-height:1}.contact-submit:hover:not(:disabled){border-color:var(--accent-hover);background:var(--accent-hover)}.contact-submit:disabled{border-color:#815640;background:#815640;cursor:wait}.contact-feedback{padding:13px 15px;border:1px solid;border-radius:7px;font-size:13px;line-height:1.65;overflow-wrap:anywhere}.contact-feedback-error{border-color:#cfa48e;background:#fff3ed;color:#823218}.contact-feedback-success{border-color:#a5b9a0;background:var(--soft-green);color:#264b2d}.contact-feedback a{color:inherit;font-weight:600;text-decoration:underline;text-underline-offset:3px}.footer-section{padding-block:64px 24px;background:var(--paper);color:var(--ink);font-family:var(--font-body)}.footer-top{display:grid;grid-template-columns:minmax(0,1.8fr) repeat(2,minmax(0,.6fr));align-items:start;gap:64px}.footer-kicker,.footer-nav-title{color:var(--muted)}.footer-statement{margin:18px 0 14px;font-family:var(--font-display);font-size:clamp(1.7rem,3vw,2.3rem);font-weight:500;line-height:1.2;letter-spacing:-.04em}.footer-description{max-width:37ch;margin:0;color:var(--muted);font-size:14px;line-height:1.7}.footer-nav{display:flex;flex-direction:column;align-items:flex-start;min-width:0}.footer-nav-title{margin-bottom:14px}.footer-link{display:inline-flex;align-items:center;justify-content:space-between;gap:24px;min-height:44px;max-width:100%;color:var(--ink);font-size:14px;line-height:1.5;text-decoration:none}.footer-link>span{color:var(--muted)}.footer-link:hover,.footer-back-top:hover{color:var(--accent);text-decoration:underline;text-underline-offset:4px}.footer-wordmark{display:inline-flex;align-items:center;justify-content:flex-start;gap:14px;width:-moz-fit-content;width:fit-content;max-width:100%;min-height:48px;margin-top:32px;padding-bottom:24px;color:var(--ink);font-family:var(--font-display);font-size:clamp(28px,3vw,36px);font-weight:500;line-height:1;letter-spacing:-.045em;text-decoration:none}.footer-wordmark>span{white-space:nowrap}.footer-brand-logo{display:block;flex:0 0 48px;width:48px;height:48px;border-radius:50%;-o-object-fit:contain;object-fit:contain}.footer-bottom{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-top:20px;border-top:1px solid var(--line)}.footer-copy{color:var(--muted);font-size:12px;line-height:1.6}.footer-back-top{display:inline-flex;align-items:center;gap:20px;min-height:44px;color:var(--ink);font-size:13px;font-weight:500;text-decoration:none}.footer-back-top>span{display:grid;width:40px;height:40px;place-items:center;border:1px solid #adb5a7;border-radius:50%;font-size:19px}.footer-section a:focus-visible,.notfound-page a:focus-visible{outline:3px solid var(--accent);outline-offset:5px}.notfound-page{min-height:100svh;background:var(--paper);color:var(--ink);font-family:var(--font-body)}.notfound-shell{display:flex;flex-direction:column;min-height:100svh}.notfound-header{display:flex;align-items:center;justify-content:space-between;gap:32px;padding-block:28px;border-bottom:1px solid var(--line)}.notfound-brand{display:inline-flex;align-items:center;gap:12px;min-height:44px;color:var(--ink);font-family:var(--font-display);font-size:20px;font-weight:600;letter-spacing:-.04em;text-decoration:none}.notfound-brand-mark{display:block;flex-shrink:0;width:34px;height:34px;border-radius:50%;-o-object-fit:contain;object-fit:contain}.notfound-header-note{color:var(--muted);font-family:var(--font-mono);font-size:11px;line-height:1.5}.notfound-content{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:56px;padding-block:64px}.notfound-copy{min-width:0}.notfound-eyebrow{color:var(--accent)}.notfound-title{margin:22px 0 24px;font-family:var(--font-display);font-size:clamp(44px,5.5vw,68px);font-weight:500;line-height:1.04;letter-spacing:-.065em}.notfound-description{max-width:34ch;margin:0;color:var(--muted);font-size:17px;line-height:1.7}.notfound-home{display:inline-flex;align-items:center;justify-content:center;gap:20px;min-height:52px;margin-top:32px;padding:13px 22px;border:1px solid var(--accent);border-radius:7px;background:var(--accent);color:#fff;font-size:15px;font-weight:600;line-height:1.5;text-decoration:none;transition:background-color .15s ease,border-color .15s ease}.notfound-home:hover{border-color:var(--accent-hover);background:var(--accent-hover)}.notfound-route{align-self:start;justify-self:start;width:100%;min-width:0;max-width:400px;padding:28px;border:1px solid #c9d1c1;border-radius:var(--radius);background:var(--soft-green)}.notfound-route-label{display:flex;align-items:center;justify-content:space-between;gap:16px;color:var(--muted);font-family:var(--font-mono);font-size:11px;line-height:1.5;letter-spacing:.03em;text-transform:uppercase}.notfound-route-label>span:last-child{font-size:22px;line-height:1}.notfound-code{display:block;margin:24px 0 0;font-family:var(--font-display);font-size:clamp(84px,9vw,120px);font-weight:500;line-height:1;letter-spacing:-.075em}.notfound-code>span{color:var(--accent)}.notfound-route-drawing{display:block;width:100%;max-width:360px;height:auto;margin-top:8px}.notfound-route-caption{margin:0;color:var(--muted);font-family:var(--font-mono);font-size:10px;line-height:1.6}.notfound-footer{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:auto;padding-block:20px;border-top:1px solid var(--line);color:var(--muted);font-size:12px;line-height:1.6}.notfound-footer a{display:inline-flex;align-items:center;flex-wrap:wrap;gap:4px 8px;min-height:44px;color:inherit;text-decoration:none}.notfound-footer a>span{color:var(--ink);text-decoration:underline;text-underline-offset:4px}@media (max-width: 1099px){.contact-panel{gap:32px;padding:36px}.contact-form{padding:28px}.contact-field-pair{grid-template-columns:minmax(0,1fr);gap:20px}.footer-top,.notfound-content{gap:40px}}@media (max-width: 959px){.contact-panel{grid-template-columns:minmax(0,1fr);padding:40px;gap:40px}.contact-headline{max-width:15ch}.contact-intro,.contact-scope{max-width:55ch}.contact-field-pair{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.footer-top{grid-template-columns:minmax(0,1.4fr) repeat(2,minmax(0,.6fr));gap:24px}}@media (max-width: 767px){.contact-section{padding-block:64px 48px}.contact-panel{padding:28px;border-radius:16px;gap:32px}.contact-headline{font-size:clamp(40px,8vw,56px);margin-top:24px}.contact-intro{font-size:16px}.contact-copy{padding:0}.contact-form{padding:24px}.footer-section{padding-top:32px}.footer-top{grid-template-columns:repeat(2,minmax(0,1fr));gap:36px}.footer-about{grid-column:1 / -1}.footer-bottom{align-items:flex-start}.footer-back-top{gap:12px;flex-shrink:0}.notfound-header{padding-block:20px}.notfound-header-note{display:none}.notfound-content{grid-template-columns:minmax(0,1fr);gap:40px;padding-block:48px}.notfound-title{font-size:clamp(40px,8vw,56px)}.notfound-route{padding:24px}.notfound-code{font-size:96px}.notfound-footer{align-items:flex-start;flex-direction:column;gap:8px}}@media (max-width: 539px){.contact-section>.section-shell{padding-inline:0}.contact-panel{border-radius:0;padding:32px 24px}.contact-form{padding:24px 20px}.contact-field-pair{grid-template-columns:minmax(0,1fr);gap:20px}.contact-channels{gap:0 16px}.contact-channel-value{font-size:11px}.footer-bottom{flex-direction:column;gap:12px}}@media (max-width: 359px){.contact-panel{padding-inline:20px}.contact-form{padding-inline:16px}.contact-headline{font-size:40px}.contact-channels{grid-template-columns:minmax(0,1fr)}}@media (prefers-reduced-motion: reduce){.contact-input,.contact-submit,.notfound-home{transition:none}}:root{--paper: #f7f7f2;--surface: #ffffff;--ink: #202b25;--muted: #606b62;--line: #dce0d7;--accent: #bc4424;--accent-hover: #96351b;--soft-orange: #f3e6dc;--soft-green: #e9eee3;--radius: 20px;--font-display: "Space Grotesk", "Arial", sans-serif;--font-body: "DM Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono: "SFMono-Regular", Consolas, "Liberation Mono", monospace;font-family:var(--font-body);color:var(--ink);background:var(--paper);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth;color-scheme:light}body{margin:0;min-width:280px;line-height:1.6}button,input,textarea,select{font:inherit}button,a,input,textarea{-webkit-tap-highlight-color:transparent}a{color:inherit}button{cursor:pointer}img,svg{vertical-align:middle}img{display:block;max-width:100%;height:auto}figure{margin:0}h1,h2,h3,h4,p{margin:0}::-moz-selection{background:#e6c7b5;color:var(--ink)}::selection{background:#e6c7b5;color:var(--ink)}:focus-visible{outline:3px solid var(--accent);outline-offset:4px}section[id],#main{scroll-margin-top:104px}#main:focus{outline:none}.app-shell{min-height:100vh}.scroll-progress{position:fixed;inset:0 0 auto;height:2px;background:var(--accent);transform:scaleX(0);transform-origin:left;z-index:80;pointer-events:none}.section-shell{width:100%;max-width:1160px;padding-inline:40px;margin-inline:auto}.eyebrow{margin-bottom:18px;color:var(--accent);font:500 11px/1.6 var(--font-mono);letter-spacing:.085em;text-transform:uppercase}.section-title{font-family:var(--font-display);font-weight:500;font-size:clamp(2.35rem,4.7vw,4rem);line-height:1.12;letter-spacing:-.055em;text-wrap:balance}.section-intro{color:var(--muted);font-size:17px;line-height:1.75}.button{display:inline-flex;align-items:center;justify-content:center;gap:20px;width:-moz-fit-content;width:fit-content;max-width:100%;min-height:52px;padding:14px 22px;border:1px solid transparent;border-radius:8px;font-size:14px;font-weight:600;line-height:1.5;text-decoration:none;transition:background-color .16s ease,border-color .16s ease}.button-primary{background:var(--accent);color:#fff}.button-primary:hover{background:var(--accent-hover)}.button-secondary{border-color:#b9c0b4;color:var(--ink)}.button-secondary:hover{background:var(--surface);border-color:var(--ink)}.text-link{display:inline-flex;align-items:center;gap:16px;min-height:44px;color:var(--ink);font-size:14px;font-weight:500;text-decoration-thickness:1px;text-underline-offset:5px}.text-link:hover{color:var(--accent)}.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:12px;left:16px;z-index:100;padding:12px 20px;border-radius:8px;background:var(--ink);color:#fff;transform:translateY(-150%);text-decoration:none}.skip-link:focus{transform:translateY(0)}@media (max-width: 767px){.section-shell{padding-inline:24px}.section-title{font-size:clamp(2.125rem,7vw,3.5rem)}.section-intro{font-size:16px}section[id],#main{scroll-margin-top:92px}}@media (max-width: 359px){.section-shell{padding-inline:20px}}@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
