:root{--paper:#f3f2ee;--paper-2:#e9e8e3;--ink:#111318;--muted:#62656d;--line:#c9c8c2;--panel:#faf9f6;--accent:#3b3d42;--accent-2:#b9babd;--max:1320px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--paper);color:var(--ink);-webkit-font-smoothing:antialiased;margin:0;font-family:Arial,Helvetica,sans-serif;line-height:1.5}a{color:inherit;text-decoration:none}:focus-visible{outline:2px solid var(--ink);outline-offset:3px}.skip-link{z-index:100;background:var(--ink);color:var(--paper);text-transform:uppercase;letter-spacing:.1em;padding:12px 18px;font-size:.78rem;position:absolute;top:0;left:-9999px}.skip-link:focus{top:12px;left:12px}.wrap{width:min(calc(100% - 48px), var(--max));margin:auto}.topbar{z-index:40;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--line);background:#f3f2eef0;position:sticky;top:0}.nav{justify-content:space-between;align-items:center;gap:32px;min-height:72px;display:flex}.brand{letter-spacing:-.03em;font-size:1.2rem;font-weight:800}.brand span{color:var(--muted);font-weight:400}.navlinks{text-transform:uppercase;letter-spacing:.09em;color:var(--muted);gap:26px;font-size:.82rem;display:flex}.navlinks a:hover,.navlinks a[data-active=true]{color:var(--ink)}.navtoggle{border:1px solid var(--line);color:var(--muted);font:inherit;text-transform:uppercase;letter-spacing:.12em;cursor:pointer;background:0 0;padding:10px 14px;font-size:.72rem;display:none}.navtoggle:hover{color:var(--ink);border-color:var(--ink)}.mobilemenu{display:none}.mobilemenu.open{border-top:1px solid var(--line);padding:8px 0 20px;display:block}.mobilemenu a{border-bottom:1px solid var(--line);text-transform:uppercase;letter-spacing:.09em;color:var(--muted);padding:14px 0;font-size:.82rem;display:block}.mobilemenu a:hover{color:var(--ink)}.hero{border-bottom:1px solid var(--line)}.hero-grid{grid-template-columns:1.35fr .65fr;min-height:720px;display:grid}.hero-copy{border-right:1px solid var(--line);flex-direction:column;justify-content:space-between;padding:110px 64px 80px 0;display:flex}.kicker{letter-spacing:.16em;text-transform:uppercase;color:var(--accent);font-size:.75rem;font-weight:700}h1{letter-spacing:-.055em;max-width:1000px;margin:28px 0 34px;font-family:Georgia,Times New Roman,serif;font-size:clamp(3.7rem,7.6vw,7.8rem);font-weight:400;line-height:.91}.lead{color:var(--muted);max-width:720px;font-size:1.16rem;line-height:1.7}.hero-foot{border-top:1px solid var(--line);justify-content:space-between;align-items:end;gap:24px;margin-top:80px;padding-top:28px;display:flex}.hero-foot strong{text-transform:uppercase;letter-spacing:.1em;font-size:.9rem}.hero-foot p{max-width:440px;color:var(--muted);margin:0;font-size:.95rem}.hero-side{flex-direction:column;justify-content:space-between;padding:110px 0 80px 48px;display:flex}.index{border-top:1px solid var(--line);gap:0;display:grid}.index a{border-bottom:1px solid var(--line);grid-template-columns:44px 1fr auto;align-items:center;gap:16px;padding:18px 0;font-size:.9rem;display:grid}.index b{font-family:Georgia,serif;font-size:1.2rem;font-weight:400}.index span:last-child{color:var(--muted)}.statement{margin:56px 0 0;font-family:Georgia,Times New Roman,serif;font-size:1.8rem;line-height:1.25}section{border-bottom:1px solid var(--line)}.section-grid{grid-template-columns:320px 1fr;display:grid}.section-label{border-right:1px solid var(--line);padding:92px 48px 92px 0}.section-label small{color:var(--accent);text-transform:uppercase;letter-spacing:.16em;margin-bottom:16px;font-size:.72rem;font-weight:700;display:block}.section-label h2{margin:0;font-family:Georgia,serif;font-size:2.2rem;font-weight:400;line-height:1.08}.section-body{min-width:0;padding:92px 0 92px 56px}.intro{max-width:920px;margin:0 0 60px;font-family:Georgia,serif;font-size:clamp(1.8rem,3vw,3rem);line-height:1.22}.three{border-top:1px solid var(--line);border-left:1px solid var(--line);grid-template-columns:repeat(3,1fr);display:grid}.cell{border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:#ffffff2e;min-height:230px;padding:30px}.cell .num{color:var(--accent);font-family:Georgia,serif;font-size:1.3rem}.cell h3{text-transform:uppercase;letter-spacing:.06em;margin:52px 0 12px;font-size:1rem}.cell p{color:var(--muted);margin:0;font-size:.94rem}.portfolio{border-top:1px solid var(--line)}.project{border-bottom:1px solid var(--line);grid-template-columns:150px minmax(0,1fr) auto;align-items:start;gap:30px;padding:34px 0;display:grid}.tag{text-transform:uppercase;letter-spacing:.12em;color:var(--muted);padding-top:8px;font-size:.68rem;font-weight:700}.project h3{margin:0 0 10px;font-family:Georgia,serif;font-size:2rem;font-weight:400}.project p{color:var(--muted);max-width:760px;margin:0;font-size:.96rem;line-height:1.65}.project .status{text-transform:uppercase;letter-spacing:.1em;color:var(--muted);margin-top:14px;font-size:.68rem}.project-link{white-space:nowrap;border-bottom:1px solid var(--ink);padding:6px 0 3px;font-size:.82rem;transition:opacity .2s}.project-link:hover{opacity:.55}.project-note{white-space:nowrap;color:var(--muted);padding:6px 0 3px;font-size:.82rem}.labs{border-top:1px solid var(--line);border-left:1px solid var(--line);grid-template-columns:repeat(5,1fr);display:grid}.lab{border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-height:260px;padding:28px 24px}.lab h3{margin:70px 0 12px;font-family:Georgia,serif;font-size:1.4rem;font-weight:400}.lab p{color:var(--muted);margin:0;font-size:.9rem}.framework{counter-reset:step;border-top:1px solid var(--line)}.step{border-bottom:1px solid var(--line);grid-template-columns:90px 240px 1fr;align-items:start;gap:24px;padding:22px 0;display:grid}.step:before{counter-increment:step;content:counter(step, decimal-leading-zero);color:var(--accent);font-family:Georgia,serif;font-size:1.25rem}.step strong{text-transform:uppercase;letter-spacing:.08em;font-size:.82rem}.step p{color:var(--muted);max-width:720px;margin:0}.dark{background:var(--ink);color:var(--paper)}.dark .section-label{border-color:#363941}.dark .section-body{padding-top:110px;padding-bottom:110px}.dark .quote{letter-spacing:-.035em;max-width:1050px;margin:0;font-family:Georgia,serif;font-size:clamp(2.5rem,5vw,5.5rem);line-height:1.03}.dark .quote em{color:#aebbb4;font-style:normal}.dark .byline{color:#a6a9b0;max-width:680px;margin-top:52px}.contact{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:40px;display:grid}.contact h2{overflow-wrap:anywhere;min-width:0;max-width:900px;margin:0;font-family:Georgia,serif;font-size:clamp(3rem,6vw,6rem);font-weight:400;line-height:.95}.button{text-transform:uppercase;letter-spacing:.1em;color:inherit;cursor:pointer;background:0 0;border:1px solid;padding:15px 20px;font-family:inherit;font-size:.76rem;transition:all .2s;display:inline-flex}.button:hover{background:var(--ink);color:var(--paper)}.button-plain{text-transform:none;letter-spacing:.02em;font-size:.88rem}.button[disabled]{opacity:.45;cursor:progress}.button[disabled]:hover{color:inherit;background:0 0}footer{padding:34px 0 54px}.foot{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;justify-content:space-between;gap:24px;font-size:.78rem;display:flex}.footlinks{flex-wrap:wrap;gap:22px;display:flex}.footlinks a:hover{color:var(--ink)}.reveal{opacity:0;transition:all .65s;transform:translateY(18px)}.reveal.on{opacity:1;transform:none}.page-head{border-bottom:1px solid var(--line)}.page-head-grid{grid-template-columns:1.35fr .65fr;gap:0;display:grid}.page-head-copy{border-right:1px solid var(--line);padding:92px 64px 72px 0}.page-head-copy h1{margin:24px 0 28px;font-size:clamp(2.8rem,5.4vw,5rem)}.page-head-side{flex-direction:column;justify-content:space-between;gap:40px;padding:92px 0 72px 48px;display:flex}.meta{border-top:1px solid var(--line);display:grid}.meta div{border-bottom:1px solid var(--line);grid-template-columns:1fr auto;gap:16px;padding:16px 0;font-size:.82rem;display:grid}.meta dt,.meta span:first-child{color:var(--muted);text-transform:uppercase;letter-spacing:.1em;font-size:.7rem;font-weight:700}.meta span:last-child{text-align:right}.prose{max-width:860px}.prose h3{margin:52px 0 14px;font-family:Georgia,serif;font-size:1.6rem;font-weight:400;line-height:1.2}.prose h3:first-child{margin-top:0}.prose h4{text-transform:uppercase;letter-spacing:.08em;margin:32px 0 10px;font-size:.88rem}.prose p{color:var(--muted);margin:0 0 16px;font-size:.98rem;line-height:1.75}.prose ul,.prose ol{color:var(--muted);margin:0 0 16px;padding-left:20px;font-size:.98rem;line-height:1.75}.prose li{margin-bottom:8px}.prose li::marker{color:var(--accent-2)}.prose a{border-bottom:1px solid var(--line);color:var(--ink)}.prose a:hover{border-color:var(--ink)}.prose strong{color:var(--ink)}.datatable{border-collapse:collapse;width:100%;min-width:520px;margin:0 0 24px;font-size:.92rem}.datatable th,.datatable td{text-align:left;border-bottom:1px solid var(--line);vertical-align:top;padding:14px 16px 14px 0}.datatable th{text-transform:uppercase;letter-spacing:.1em;color:var(--accent);font-size:.7rem;font-weight:700}.datatable td{color:var(--muted);line-height:1.6}.tablescroll{overflow-x:auto}.note{border:1px solid var(--line);background:var(--panel);margin:0 0 32px;padding:24px 26px}.note strong{text-transform:uppercase;letter-spacing:.12em;margin-bottom:10px;font-size:.74rem;display:block}.note p{color:var(--muted);margin:0;font-size:.94rem;line-height:1.7}.toc{border-top:1px solid var(--line);display:grid}.toc a{border-bottom:1px solid var(--line);color:var(--muted);grid-template-columns:40px 1fr auto;align-items:center;gap:14px;padding:14px 0;font-size:.88rem;display:grid}.toc a:hover{color:var(--ink)}.toc b{color:var(--accent);font-family:Georgia,serif;font-weight:400}.form{border-top:1px solid var(--line);border-left:1px solid var(--line);gap:0;max-width:860px;display:grid}.field{border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:#ffffff2e;flex-direction:column;gap:10px;padding:22px 24px;display:flex}.field-row{grid-template-columns:1fr 1fr;display:grid}.field label{text-transform:uppercase;letter-spacing:.12em;color:var(--accent);font-size:.7rem;font-weight:700}.field .hint{color:var(--muted);font-size:.78rem}.field input,.field select,.field textarea{font:inherit;color:var(--ink);border:0;border-bottom:1px solid var(--line);background:0 0;border-radius:0;width:100%;padding:8px 0;font-size:.96rem}.field textarea{resize:vertical;min-height:150px;line-height:1.6}.field input:focus,.field select:focus,.field textarea:focus{border-bottom-color:var(--ink);outline:none}.field input::placeholder,.field textarea::placeholder{color:var(--accent-2)}.field[data-invalid=true] input,.field[data-invalid=true] select,.field[data-invalid=true] textarea{border-bottom-color:#8c2f2f}.error{color:#8c2f2f;font-size:.78rem}.consent{grid-template-columns:auto 1fr;align-items:start;gap:14px;display:grid}.consent input{width:16px;height:16px;accent-color:var(--ink);border-bottom:0;margin-top:3px}.consent span{color:var(--muted);text-transform:none;letter-spacing:normal;font-size:.86rem;font-weight:400;line-height:1.6}.consent a{border-bottom:1px solid var(--line);color:var(--ink)}.form-actions{border-right:1px solid var(--line);border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:24px;padding:24px;display:flex}.form-actions p{color:var(--muted);max-width:420px;margin:0;font-size:.82rem}.hp{width:1px;height:1px;position:absolute;left:-9999px;overflow:hidden}.formstatus{border:1px solid var(--line);background:var(--panel);max-width:860px;margin:0 0 32px;padding:22px 24px}.formstatus strong{text-transform:uppercase;letter-spacing:.12em;margin-bottom:8px;font-size:.74rem;display:block}.formstatus p{color:var(--muted);margin:0;font-size:.92rem;line-height:1.7}.formstatus[data-tone=error]{border-color:#8c2f2f}.formstatus[data-tone=error] strong{color:#8c2f2f}.channels{border-top:1px solid var(--line);border-left:1px solid var(--line);grid-template-columns:repeat(2,1fr);margin-bottom:60px;display:grid}.channel{border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:#ffffff2e;padding:28px 26px}.channel small{text-transform:uppercase;letter-spacing:.12em;color:var(--accent);font-size:.68rem;font-weight:700;display:block}.channel h3{margin:34px 0 10px;font-family:Georgia,serif;font-size:1.5rem;font-weight:400}.channel p{color:var(--muted);margin:0 0 14px;font-size:.92rem;line-height:1.65}.channel a{border-bottom:1px solid var(--ink);padding-bottom:2px;font-size:.86rem}.channel a:hover{opacity:.55}.notfound{text-align:left;padding:140px 0}.notfound h1{margin-top:0}@media (max-width:980px){.navlinks{display:none}.navtoggle{display:inline-flex}.hero-grid,.section-grid,.page-head-grid{grid-template-columns:1fr}.hero-copy,.page-head-copy{border-right:0;padding-right:0}.hero-side{border-top:1px solid var(--line);padding:54px 0 72px}.page-head-side{border-top:1px solid var(--line);padding:40px 0 62px}.section-label{border-right:0;border-bottom:1px solid var(--line);padding:62px 0 30px}.section-body{padding:54px 0 72px}.three{grid-template-columns:1fr}.project{grid-template-columns:120px minmax(0,1fr) auto}.labs{grid-template-columns:1fr 1fr}.contact{grid-template-columns:1fr}.step{grid-template-columns:60px 1fr}.step p{grid-column:2}.hero-grid{min-height:0}.hero-copy{padding-top:78px}.page-head-copy{padding:62px 0 40px}.hero-foot{flex-direction:column;align-items:flex-start}.channels{grid-template-columns:1fr}}@media (max-width:620px){.wrap{width:min(calc(100% - 28px), var(--max))}.labs,.project{grid-template-columns:1fr}.project-link,.project-note{justify-self:start}.hero-foot{margin-top:54px}.statement{font-size:1.45rem}.foot{flex-direction:column}.field-row{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transition:none;transform:none}}
