@font-face{font-family:Fraunces;font-style:normal;font-weight:300 700;font-display:swap;src:url(/fonts/fraunces-latin-ext-opsz-normal.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Fraunces;font-style:normal;font-weight:300 700;font-display:swap;src:url(/fonts/fraunces-latin-opsz-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Fraunces;font-style:italic;font-weight:300 700;font-display:swap;src:url(/fonts/fraunces-latin-ext-opsz-italic.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Fraunces;font-style:italic;font-weight:300 700;font-display:swap;src:url(/fonts/fraunces-latin-opsz-italic.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/ibm-plex-sans-latin-ext-400-normal.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/ibm-plex-sans-latin-400-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:500 600;font-display:swap;src:url(/fonts/ibm-plex-sans-latin-ext-600-normal.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:500 600;font-display:swap;src:url(/fonts/ibm-plex-sans-latin-600-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Sans;font-style:italic;font-weight:400;font-display:swap;src:url(/fonts/ibm-plex-sans-latin-ext-400-italic.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Sans;font-style:italic;font-weight:400;font-display:swap;src:url(/fonts/ibm-plex-sans-latin-400-italic.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400 500;font-display:swap;src:url(/fonts/ibm-plex-mono-latin-ext-500-normal.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400 500;font-display:swap;src:url(/fonts/ibm-plex-mono-latin-500-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--paper: #F3EFE6;--paper-2: #FBF9F4;--paper-3: #E8E1D3;--rule: #D6CDBB;--ink: #15171B;--ink-2: #3D424A;--ink-3: #61656C;--rubric: #B03A20;--rubric-dark: #8C2C16;--night: #111317;--night-2: #1B1E24;--moon: #ECE7DC;--moon-2: #B9B3A7;--serif: "Fraunces", "Iowan Old Style", Georgia, serif;--sans: "IBM Plex Sans", system-ui, sans-serif;--mono: "IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--max-width: 1180px;--ease: cubic-bezier(.2, .7, .2, 1)}*{box-sizing:border-box}html{background:var(--paper);scroll-behavior:smooth;scroll-padding-top:5.75rem}body{margin:0;min-width:320px;overflow-x:hidden;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.65;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}button,input,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{border:0}a{color:var(--ink);text-decoration-thickness:1px;text-underline-offset:.18em}a:hover{color:var(--rubric)}img{display:block;max-width:100%;height:auto}h1,h2,h3,p,ul,blockquote{margin:0}h1,h2,h3{color:var(--ink);font-family:var(--serif);font-weight:500;line-height:1.08;letter-spacing:-.02em;text-wrap:balance}h1{max-width:14ch;font-size:clamp(2.7rem,6vw,5.2rem);font-weight:400;letter-spacing:-.04em}h2{font-size:clamp(2rem,4vw,3.45rem);font-weight:400}h3{font-size:1.45rem}::selection{background:var(--rubric);color:var(--paper-2)}:focus-visible{outline:2px solid var(--rubric);outline-offset:3px}.site-shell{min-height:100vh}.wrap{width:min(100%,calc(var(--max-width) + 48px));margin-inline:auto;padding-inline:24px}.narrow{max-width:930px}.skip-link{position:fixed;z-index:3000;top:8px;left:8px;transform:translateY(-160%);padding:9px 13px;background:var(--ink);color:var(--paper-2);font-family:var(--mono);font-size:.75rem}.skip-link:focus{transform:translateY(0);color:var(--paper-2)}.eyebrow,.card-label,.line-number,.footer-heading{color:var(--ink-3);font-family:var(--mono);font-size:.72rem;font-weight:500;letter-spacing:.13em;line-height:1.35;text-transform:uppercase}.lead{max-width:60ch;color:var(--ink-2);font-size:clamp(1.06rem,1.5vw,1.22rem);line-height:1.55}.site-header{position:sticky;top:0;z-index:100;border-bottom:1px solid var(--ink);background:color-mix(in srgb,var(--paper) 94%,transparent);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.header-bar{display:flex;min-height:72px;align-items:center;gap:1.25rem}.brand{display:inline-flex;align-items:center;gap:.72rem;color:var(--ink);text-decoration:none;white-space:nowrap}.brand:hover{color:var(--ink)}.brand-mark{display:grid;width:38px;height:38px;place-items:center;border:1px solid var(--ink);color:var(--ink);font-family:var(--mono);font-size:.75rem;letter-spacing:-.08em}.brand:hover .brand-mark{border-color:var(--rubric);color:var(--rubric)}.brand-name{font-family:var(--serif);font-size:1.24rem;line-height:1}.brand-muted{color:var(--ink-3)}.main-nav{display:flex;align-items:center;gap:.25rem;margin-left:auto}.main-nav a{padding:.3rem .58rem;color:var(--ink-2);font-size:.92rem;font-weight:500;text-decoration:none}.main-nav a:hover,.main-nav a.active{color:var(--ink);background:var(--paper-3)}.main-nav a.active{box-shadow:inset 0 -2px var(--rubric)}.header-tools{display:flex;align-items:center;gap:.55rem}.language-switch{display:flex;gap:1px;padding:3px;border:1px solid var(--rule);background:var(--paper-2)}.language-switch button{min-width:30px;padding:.25rem .35rem;background:transparent;color:var(--ink-3);cursor:pointer;font-family:var(--mono);font-size:.67rem}.language-switch button:hover,.language-switch button.active{background:var(--ink);color:var(--paper-2)}.icon-button{display:grid;width:38px;height:38px;place-items:center;border:1px solid var(--rule);background:transparent;color:var(--ink);cursor:pointer}.icon-button:hover{border-color:var(--rubric);color:var(--rubric)}.menu-button{display:none}.hero{position:relative;overflow:hidden;border-bottom:1px solid var(--rule);padding-block:clamp(4.25rem,8vw,8rem) clamp(4rem,7vw,6.5rem)}.hero:before{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(600px 360px at 88% 0%,rgba(176,58,32,.1),transparent 72%),radial-gradient(500px 340px at 5% 100%,rgba(214,205,187,.35),transparent 72%);content:"";pointer-events:none}.hero-grid{position:relative;display:grid;align-items:center;grid-template-columns:minmax(0,1.2fr) minmax(300px,.8fr);gap:clamp(2.5rem,7vw,7rem)}.hero-copy{min-width:0}.hero-kicker{margin-top:1.25rem;color:var(--ink-2);font-family:var(--serif);font-size:1.35rem}.hero h1{margin-block:1rem 1.45rem}.hero-detail{max-width:62ch;margin-top:1rem;color:var(--ink-3)}.button-row{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:2rem}.button{display:inline-flex;min-height:46px;align-items:center;justify-content:center;gap:.55rem;padding:.75rem 1.2rem;border:1px solid var(--ink);cursor:pointer;font-size:.9rem;font-weight:500;line-height:1.2;transition:transform .18s var(--ease),background .18s var(--ease),color .18s var(--ease),border-color .18s var(--ease)}.button:hover{transform:translateY(-2px);text-decoration:none}.button-primary{border-color:var(--rubric);background:var(--rubric);color:var(--paper-2)}.button-primary:hover{border-color:var(--rubric-dark);background:var(--rubric-dark);color:var(--paper-2)}.button-ghost{background:transparent;color:var(--ink)}.button-ghost:hover{border-color:var(--rubric);background:var(--paper-2);color:var(--rubric)}.hero-links{display:flex;flex-wrap:wrap;gap:1rem;margin-top:1.5rem;font-family:var(--mono);font-size:.75rem}.hero-links a{display:inline-flex;align-items:center;gap:.3rem;color:var(--ink-3);text-decoration:none}.hero-links a:hover{color:var(--rubric)}.portrait-wrap{position:relative;width:min(100%,380px);justify-self:end}.portrait-frame,.about-portrait{overflow:hidden;border:1px solid var(--rule);background:var(--paper-2)}.portrait-frame{aspect-ratio:4 / 5;transform:rotate(1.1deg)}.portrait-frame img,.about-portrait img{width:100%;height:100%;object-fit:cover;object-position:center 21%;filter:saturate(.9) contrast(1.03)}.portrait-caption{position:absolute;right:-1.25rem;bottom:1.25rem;display:inline-flex;align-items:center;gap:.5rem;padding:.55rem .72rem;border:1px solid var(--ink);background:var(--paper-2);color:var(--ink-2);font-family:var(--mono);font-size:.68rem}.status-dot{width:7px;height:7px;border-radius:50%;background:var(--rubric)}.stats-band{padding-block:1.15rem 1.2rem;background:var(--night);color:var(--moon)}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));list-style:none;margin:0;padding:0}.stat{padding:.35rem 1.15rem .3rem 0}.stat+.stat{padding-left:1.15rem;border-left:1px solid rgba(236,231,220,.23)}.stat span{display:block;color:var(--moon);font-family:var(--serif);font-size:clamp(2rem,4vw,3.15rem);font-weight:300;line-height:1}.stat p{margin-top:.28rem;color:var(--moon-2);font-family:var(--mono);font-size:.68rem;letter-spacing:.08em;text-transform:uppercase}.stats-note{margin-top:.9rem;color:var(--moon-2);font-family:var(--mono);font-size:.68rem;letter-spacing:.08em;text-transform:uppercase}.section{padding-block:clamp(4.25rem,8vw,7rem)}.section-paper{background:var(--paper)}.section-soft{border-block:1px solid var(--rule);background:var(--paper-2)}.section-ink{background:var(--night);color:var(--moon)}.page-intro{padding-top:clamp(3.7rem,7vw,6rem)}.section-heading{display:grid;grid-template-columns:minmax(8rem,14rem) minmax(0,1fr);column-gap:clamp(1.5rem,5vw,5rem);row-gap:1rem;margin-bottom:clamp(2.25rem,5vw,4rem)}.section-heading>.eyebrow{grid-column:1;grid-row:1 / span 3;align-self:start;padding-top:.65rem;border-top:2px solid var(--ink)}.section-heading>h1,.section-heading>h2,.section-heading>.lead{grid-column:2}.section-heading h1,.section-heading h2{max-width:18ch}.section-heading .lead{margin-top:.25rem}.section-heading-dark>.eyebrow{border-color:var(--moon);color:var(--moon-2)}.section-heading-dark h1,.section-heading-dark h2{color:var(--moon)}.section-heading-dark .lead{color:var(--moon-2)}.services-grid,.projects-grid,.principles-grid,.process-grid,.ecosystem-grid{display:grid;gap:clamp(1.25rem,2.5vw,2rem)}.services-grid,.projects-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.notebook-card{display:flex;min-width:0;flex-direction:column;border-top:2px solid var(--ink);background:transparent}.notebook-card:hover{border-top-color:var(--rubric)}.service-card{min-height:100%;padding:1.1rem .4rem 1.25rem 0}.card-label{color:var(--rubric)}.service-card h3,.project-body h3{margin-top:.65rem}.card-description{margin-top:.65rem;color:var(--ink-2);font-size:.96rem;line-height:1.58}.check-list{display:flex;flex-direction:column;gap:.52rem;margin:1.15rem 0 0;padding:0;list-style:none}.check-list li{display:flex;align-items:flex-start;gap:.5rem;color:var(--ink-2);font-size:.9rem}.check-list svg{flex:none;margin-top:.35em;color:var(--rubric)}.text-link{display:inline-flex;align-items:center;align-self:flex-start;gap:.45rem;margin-top:auto;padding:1.25rem 0 0;background:transparent;color:var(--rubric);cursor:pointer;font-family:var(--mono);font-size:.72rem;letter-spacing:.06em;text-transform:uppercase}.text-link:hover{color:var(--rubric-dark)}.section-action{margin-top:2.5rem}.project-card{border-top-width:1px;background:var(--paper)}.section-soft .project-card{background:var(--paper-2)}.project-visual{display:flex;aspect-ratio:16 / 8.4;align-items:flex-end;justify-content:space-between;padding:1.1rem 1.2rem;border-bottom:1px solid var(--rule);color:var(--ink);text-decoration:none}.project-visual:hover{color:var(--rubric)}.project-visual span{font-family:var(--serif);font-size:clamp(2.7rem,5vw,4.2rem);font-weight:300;letter-spacing:-.08em}.project-visual-0{background:linear-gradient(145deg,#e8e1d3,#fbf9f4 64%,#d9c4ae)}.project-visual-1{background:linear-gradient(145deg,#d6e4df,#fbf9f4 64%,#b9d2c7)}.project-visual-2{background:linear-gradient(145deg,#e7dccf,#fbf9f4 64%,#d6bbaa)}.project-visual-3{background:linear-gradient(145deg,#dad9e7,#fbf9f4 64%,#bdbad4)}.project-body{display:flex;min-height:255px;flex:1;flex-direction:column;padding:1.1rem 1.2rem 1.2rem}.project-body .chips{margin-top:auto}.chips{display:flex;flex-wrap:wrap;gap:.4rem;padding-top:1rem}.chip{padding:.22rem .45rem;border:1px solid var(--rule);color:var(--ink-3);font-family:var(--mono);font-size:.66rem}.project-links{display:flex;flex-wrap:wrap;gap:.9rem;margin-top:.9rem;padding-top:.8rem;border-top:1px solid var(--rule)}.project-links a{display:inline-flex;align-items:center;gap:.35rem;color:var(--rubric);font-family:var(--mono);font-size:.7rem;text-decoration:none;text-transform:uppercase}.project-links a:hover{color:var(--rubric-dark)}.quote{max-width:57rem;padding:.4rem 0 .4rem 1.5rem;border-left:3px solid #F07A5A;color:var(--moon);font-family:var(--serif);font-size:clamp(1.55rem,3vw,2.4rem);font-style:italic;line-height:1.25}.quote cite{display:block;margin-top:1.2rem;color:var(--moon-2);font-family:var(--mono);font-size:.7rem;font-style:normal;letter-spacing:.08em;text-transform:uppercase}.ecosystem-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:0 1.25rem;border-top:1px solid var(--rule)}.ecosystem-item{display:grid;grid-template-columns:10px minmax(0,1fr) auto;align-items:start;gap:.7rem;padding:1rem .25rem 1rem 0;border-bottom:1px solid var(--rule);color:var(--ink);text-decoration:none}.ecosystem-item:hover{color:var(--rubric)}.ecosystem-dot{width:8px;height:8px;margin-top:.38rem;border-radius:50%;box-shadow:0 0 0 1px var(--paper-2),0 0 0 2px var(--ink-3)}.ecosystem-copy{display:flex;min-width:0;flex-direction:column;gap:.14rem}.ecosystem-copy strong{font-family:var(--serif);font-size:1.1rem;font-weight:500}.ecosystem-copy span{color:var(--ink-2);font-size:.86rem;line-height:1.35}.ecosystem-copy small{color:var(--ink-3);font-family:var(--mono);font-size:.63rem;line-height:1.35}.ecosystem-link,.hub-link{display:inline-block;margin-top:1.5rem;color:var(--rubric);font-family:var(--mono);font-size:.73rem;letter-spacing:.06em;text-decoration:none;text-transform:uppercase}.ecosystem-link:hover,.hub-link:hover{color:var(--rubric-dark)}.cta-line{display:flex;align-items:center;justify-content:space-between;gap:2rem;padding:clamp(1.5rem,4vw,2.8rem);border:1px solid var(--rubric);background:var(--rubric);color:var(--paper-2)}.cta-line .eyebrow{color:#fbede6}.cta-line h2{max-width:18ch;margin-top:.65rem;color:var(--paper-2);font-size:clamp(1.8rem,4vw,3rem)}.cta-line>div>p:last-child{max-width:58ch;margin-top:.75rem;color:#fbede6}.cta-line .button{flex:none;border-color:var(--paper-2);background:var(--paper-2);color:var(--rubric-dark)}.cta-line .button:hover{border-color:var(--ink);background:var(--ink);color:var(--paper-2)}.about-layout{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(250px,.65fr);align-items:start;gap:clamp(2rem,7vw,6rem)}.prose-stack{display:flex;flex-direction:column;gap:1.1rem;color:var(--ink-2);font-size:1.04rem}.about-portrait{width:min(100%,320px);transform:rotate(-1deg)}.fact-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin-top:3.5rem;border-top:1px solid var(--ink);border-bottom:1px solid var(--rule)}.fact{min-height:110px;padding:1rem 1rem 1rem 0}.fact+.fact{padding-left:1rem;border-left:1px solid var(--rule)}.fact span{display:block;color:var(--rubric);font-family:var(--mono);font-size:.68rem;letter-spacing:.1em;text-transform:uppercase}.fact strong{display:block;margin-top:.5rem;color:var(--ink);font-family:var(--serif);font-size:1.06rem;font-weight:500;line-height:1.28}.principles-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.notebook-line{padding:1rem .5rem 1.2rem 0;border-top:1px solid var(--ink)}.line-number{color:var(--rubric)}.notebook-line h3{margin-top:.65rem}.notebook-line p{margin-top:.55rem;color:var(--ink-2);font-size:.94rem}.process-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.process-step{padding-top:1rem;border-top:1px solid rgba(236,231,220,.35)}.process-step>span{color:#f07a5a;font-family:var(--mono);font-size:.72rem;letter-spacing:.12em;text-transform:uppercase}.process-step h3{margin-top:.8rem;color:var(--moon);font-size:1.35rem}.process-step p{margin-top:.55rem;color:var(--moon-2);font-size:.94rem}.faq{border-top:1px solid var(--ink)}.faq:last-of-type{border-bottom:1px solid var(--ink)}.faq summary{display:flex;align-items:baseline;justify-content:space-between;gap:1.2rem;padding-block:1.1rem;color:var(--ink);cursor:pointer;font-family:var(--serif);font-size:clamp(1.15rem,2vw,1.42rem);list-style:none}.faq summary::-webkit-details-marker{display:none}.faq summary svg{flex:none;color:var(--rubric);transition:transform .2s var(--ease)}.faq[open] summary svg{transform:rotate(180deg)}.faq summary:hover{color:var(--rubric)}.faq>p{max-width:65ch;padding:0 2rem 1.25rem 0;color:var(--ink-2)}.filters{display:flex;flex-wrap:wrap;gap:.45rem;margin-bottom:2rem}.filters button{padding:.5rem .75rem;border:1px solid var(--rule);background:transparent;color:var(--ink-2);cursor:pointer;font-family:var(--mono);font-size:.7rem}.filters button:hover,.filters button.active{border-color:var(--ink);background:var(--ink);color:var(--paper-2)}.projects-grid-all .project-card{min-height:100%}.contact-layout{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(260px,.8fr);align-items:start;gap:clamp(2rem,6vw,6rem)}.contact-form{padding:1.25rem 0 1.5rem;border-top-width:2px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.field{display:flex;flex-direction:column;gap:.35rem;margin-bottom:1rem}.field>span{color:var(--ink-2);font-family:var(--mono);font-size:.7rem;letter-spacing:.07em;text-transform:uppercase}.field input,.field textarea{width:100%;border:1px solid var(--rule);border-radius:0;outline:none;background:var(--paper-2);color:var(--ink);padding:.7rem .75rem}.field textarea{min-height:150px;resize:vertical}.field input:focus,.field textarea:focus{border-color:var(--rubric);box-shadow:0 0 0 2px #b03a202b}.form-note{margin-top:.9rem;color:var(--ink-3);font-size:.82rem}.contact-aside{display:flex;flex-direction:column;gap:1.1rem}.contact-block,.social-block{padding:1rem 0;border-top:1px solid var(--ink)}.contact-block h2{font-size:1.45rem}.contact-block a,.social-block a{display:flex;align-items:center;gap:.45rem;margin-top:.55rem;color:var(--ink-2);font-family:var(--mono);font-size:.75rem;overflow-wrap:anywhere;text-decoration:none}.contact-block a:hover,.social-block a:hover,.social-block .eyebrow{color:var(--rubric)}.site-footer{padding-block:4rem 1.5rem;background:var(--night);color:var(--moon-2)}.site-footer .brand{color:var(--moon)}.site-footer .brand-mark{border-color:var(--moon);color:var(--moon)}.site-footer .brand-muted{color:var(--moon-2)}.site-footer .brand-name{color:var(--moon)}.footer-grid{display:grid;grid-template-columns:1.45fr .75fr .85fr;gap:3rem}.footer-grid>div{display:flex;align-items:flex-start;flex-direction:column;gap:.5rem}.footer-brand p{max-width:34ch;margin-top:1rem;color:var(--moon-2);font-size:.92rem}.site-footer .hub-link{margin-top:.5rem;color:#f07a5a}.footer-heading{padding-bottom:.55rem;border-bottom:1px solid rgba(236,231,220,.2);color:var(--moon-2)}.site-footer a:not(.brand):not(.hub-link){color:var(--moon);font-size:.9rem;text-decoration:none}.site-footer a:hover{color:#f07a5a!important}.footer-legal{display:flex;flex-wrap:wrap;justify-content:space-between;gap:1rem;margin-top:3rem;padding-top:1rem;border-top:1px solid rgba(236,231,220,.2);color:var(--moon-2);font-family:var(--mono);font-size:.68rem}@media (max-width: 1040px){.main-nav{gap:0}.main-nav a{padding-inline:.42rem;font-size:.84rem}.hero-grid{grid-template-columns:minmax(0,1fr) 310px;gap:2.5rem}.services-grid,.projects-grid,.ecosystem-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.process-grid{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:2rem}}@media (max-width: 780px){html{scroll-padding-top:4.6rem}.wrap{padding-inline:18px}.header-bar{min-height:64px;gap:.6rem}.brand-name{font-size:1.1rem}.main-nav{position:absolute;top:calc(100% + 1px);right:0;left:0;display:none;align-items:stretch;flex-direction:column;padding:.5rem 18px 1rem;border-bottom:1px solid var(--ink);background:var(--paper-2)}.main-nav.is-open{display:flex}.main-nav a{padding:.7rem .4rem;border-bottom:1px solid var(--rule);font-size:1rem}.main-nav a:last-child{border-bottom:0}.menu-button{display:grid}.hero-grid,.about-layout,.contact-layout{grid-template-columns:1fr}.hero-grid{gap:3rem}.portrait-wrap{width:min(100%,340px);justify-self:start}.portrait-caption{right:.5rem}.section-heading{grid-template-columns:1fr;row-gap:.75rem}.section-heading>.eyebrow{grid-column:1;grid-row:auto;justify-self:start}.section-heading>h1,.section-heading>h2,.section-heading>.lead{grid-column:1}.fact-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.fact:nth-child(3){border-top:1px solid var(--rule);padding-left:0}.fact:nth-child(4){border-top:1px solid var(--rule)}.principles-grid{grid-template-columns:1fr}.footer-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:2rem}.footer-brand{grid-column:1 / -1}}@media (max-width: 560px){body{font-size:15px}h1{font-size:clamp(2.45rem,13vw,3.8rem)}.brand-name{display:none}.header-tools{margin-left:auto}.language-switch button{min-width:27px;padding-inline:.22rem}.stats{grid-template-columns:repeat(2,minmax(0,1fr))}.stat{padding-block:.55rem}.stat:nth-child(3){padding-left:0;border-left:0;border-top:1px solid rgba(236,231,220,.23)}.stat:nth-child(4){border-top:1px solid rgba(236,231,220,.23)}.services-grid,.projects-grid,.ecosystem-grid,.process-grid,.form-row{grid-template-columns:1fr}.project-body{min-height:0}.ecosystem-grid{gap:0}.cta-line{align-items:flex-start;flex-direction:column}.cta-line .button{width:100%}.footer-grid{grid-template-columns:1fr}.footer-brand{grid-column:auto}.footer-legal{flex-direction:column}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}#root{min-height:100vh}button,a,input,textarea{-webkit-tap-highlight-color:transparent}
