*{box-sizing:border-box;margin:0;padding:0}:root{--ink:#16202e;--ink-2:#3b4656;--ink-3:#6b7482;--paper:#fbf9f4;--paper-2:#f3efe6;--white:#fff;--rule:#e2ddd1;--rule-2:#cfc8b8;--accent:#b4532a;--accent-dark:#8f3f1f;--accent-soft:#f6e6dc;--green:#2f6b4f;--green-soft:#e3efe7;--amber-soft:#f7ecd2;--danger:#a8321f;--danger-soft:#fbe9e5;--serif:"Fraunces",Georgia,serif;--sans:"IBM Plex Sans",system-ui,sans-serif}html{scroll-behavior:smooth}body{font-family:var(--sans);color:var(--ink);background:var(--paper);-webkit-font-smoothing:antialiased;font-size:16px;line-height:1.6}a{color:var(--accent-dark);text-underline-offset:3px;text-decoration:underline;text-decoration-thickness:1px}a:hover{color:var(--accent)}.wrap{max-width:1120px;margin:0 auto;padding:0 28px}.narrow{max-width:760px;margin:0 auto;padding:0 28px}h1,h2,h3{font-family:var(--serif);color:var(--ink);letter-spacing:-.015em;font-variation-settings:"opsz" 96;font-weight:500;line-height:1.15}h1{font-size:52px}h2{font-size:34px}h3{font-variation-settings:"opsz" 30;font-size:21px}p{color:var(--ink-2)}.lede{color:var(--ink-2);max-width:620px;margin-top:18px;font-size:19px}.muted{color:var(--ink-3);font-size:14px}.kicker{color:var(--ink-3);margin-bottom:14px;font-size:14px}.btn{font-size:15px;font-weight:500;font-family:var(--sans);cursor:pointer;border:1px solid var(--ink);border-radius:3px;align-items:center;gap:8px;padding:12px 22px;text-decoration:none;transition:background .15s,color .15s;display:inline-flex}.btn-primary{background:var(--ink);color:var(--paper)}.btn-primary:hover{background:var(--accent-dark);border-color:var(--accent-dark);color:#fff}.btn-ghost{color:var(--ink);background:0 0}.btn-ghost:hover{background:var(--ink);color:var(--paper)}.btn-white{background:var(--paper);color:var(--ink);border-color:var(--paper)}.btn-sm{padding:7px 14px;font-size:13.5px}.btn:disabled{opacity:.55;cursor:wait}.textlink{font-weight:500}.nav{background:var(--paper);border-bottom:1px solid var(--rule);z-index:50;position:sticky;top:0}.nav-inner{justify-content:space-between;align-items:center;gap:20px;height:68px;display:flex}.logo{font-family:var(--serif);color:var(--ink);letter-spacing:-.02em;font-size:23px;font-weight:500;text-decoration:none}.logo span{color:var(--accent)}.nav-links{gap:2px;list-style:none;display:flex}.nav-links a{color:var(--ink-2);padding:8px 13px;font-size:15px;text-decoration:none;display:block}.nav-links a:hover{color:var(--ink)}.nav-toggle{display:none}.hero{border-bottom:1px solid var(--rule);padding:76px 0 64px}.hero-grid{grid-template-columns:1.15fr .85fr;align-items:start;gap:64px;display:grid}.actions{flex-wrap:wrap;align-items:center;gap:12px;margin-top:30px;display:flex}.page-hero{border-bottom:1px solid var(--rule);padding:64px 0 44px}.page-hero h1{max-width:780px;font-size:46px}.sec{padding:72px 0}.sec-soft{background:var(--paper-2)}.sec-head{max-width:680px;margin-bottom:36px}.sec-head h2+p{margin-top:12px}.split{grid-template-columns:280px 1fr;gap:56px;display:grid}.split>h2{font-size:28px}.grid-2{grid-template-columns:repeat(2,1fr);gap:0 48px;display:grid}.grid-3{grid-template-columns:repeat(3,1fr);gap:0 40px;display:grid}.grid-4{grid-template-columns:repeat(4,1fr);gap:0 32px;display:grid}.ruled{border-top:1px solid var(--ink);list-style:none}.ruled>li{border-bottom:1px solid var(--rule);padding:22px 0}.ruled h3{margin-bottom:6px}.ruled p{font-size:15.5px}.ruled ul{color:var(--ink-2);margin-top:10px;padding-left:18px;font-size:14.5px}.item{border-top:1px solid var(--ink);padding:22px 0}.item h3{margin-bottom:8px}.item p{font-size:15.5px}.card{background:var(--white);border:1px solid var(--rule);border-radius:4px;padding:26px}.card h3{margin-bottom:8px}.projects{border-top:1px solid var(--ink)}.project{border-bottom:1px solid var(--rule);grid-template-columns:1fr 220px;gap:28px;padding:24px 0;display:grid}.project h3{margin-bottom:6px;font-size:22px}.project .meta{color:var(--ink-3);font-size:13.5px;line-height:1.7}.project .meta b{color:var(--ink);font-weight:500}.mini{border-top:1px solid var(--rule-2);list-style:none}.mini li{border-bottom:1px solid var(--rule);justify-content:space-between;gap:16px;padding:12px 0;font-size:15px;display:flex}.mini li span{color:var(--ink-3);white-space:nowrap;font-size:13px}.tag{background:var(--paper-2);color:var(--ink-2);border:1px solid var(--rule);border-radius:2px;margin:3px 4px 0 0;padding:2px 8px;font-size:12.5px;text-decoration:none;display:inline-block}.tag.accent{background:var(--accent-soft);color:var(--accent-dark);border-color:#0000}.tag.amber{background:var(--amber-soft);color:#7a5414;border-color:#0000}.tag.ok{background:var(--green-soft);color:var(--green);border-color:#0000}.note{border-left:3px solid var(--accent);color:var(--ink-2);margin-top:26px;padding:4px 0 4px 18px;font-size:15px}.closing{border-top:1px solid var(--ink);border-bottom:1px solid var(--ink);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:28px;padding:40px 0;display:flex}.closing h2{font-size:30px}.closing p{margin-top:8px}.form{gap:26px;display:grid}.form fieldset{border:none;border-top:1px solid var(--ink);gap:16px;padding:22px 0 0;display:grid}.form legend{font-family:var(--serif);color:var(--ink);float:left;width:100%;padding:0 0 4px;font-size:21px}.form legend+*{clear:both}.row{grid-template-columns:1fr 1fr;gap:16px;display:grid}.field{gap:6px;display:grid}.field label,.label{color:var(--ink);font-size:14px;font-weight:500}.field .hint{color:var(--ink-3);font-size:13px}input,select,textarea{font-family:var(--sans);border:1px solid var(--rule-2);background:var(--white);color:var(--ink);border-radius:3px;width:100%;padding:10px 12px;font-size:15px}input:focus,select:focus,textarea:focus{outline:2px solid var(--accent);outline-offset:-1px;border-color:var(--accent)}textarea{resize:vertical;min-height:120px}.checks{flex-wrap:wrap;gap:6px;display:flex}.check{border:1px solid var(--rule-2);cursor:pointer;background:var(--white);border-radius:3px;align-items:center;gap:7px;padding:6px 11px;font-size:14px;display:inline-flex}.check input{width:auto;accent-color:var(--ink)}.check:has(input:checked){border-color:var(--ink);background:var(--ink);color:var(--paper)}.consent{color:var(--ink-2);align-items:flex-start;gap:10px;font-size:14px;display:flex}.consent input{width:auto;accent-color:var(--ink);margin-top:4px}.hp{width:1px;height:1px;position:absolute;left:-9999px;overflow:hidden}.alert{border-radius:3px;padding:13px 16px;font-size:15px}.alert.err{background:var(--danger-soft);color:var(--danger)}.alert.ok{background:var(--green-soft);color:var(--green)}.success{border-top:1px solid var(--ink);padding:40px 0}.success h2{margin-bottom:10px}details summary{cursor:pointer}table{border-collapse:collapse;background:var(--white);width:100%;font-size:14px}th{text-align:left;color:var(--ink);border-bottom:1px solid var(--ink);white-space:nowrap;padding:10px 12px;font-weight:600}td{border-bottom:1px solid var(--rule);vertical-align:top;padding:12px}.admin-bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:24px;display:flex}.admin-tabs{gap:4px;display:flex}.admin-tabs a{color:var(--ink-2);border-radius:3px;padding:7px 13px;font-size:14px;text-decoration:none}.admin-tabs a.on{background:var(--ink);color:var(--paper)}.inline-form{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.inline-form select{width:auto;padding:5px 8px;font-size:13px}.footer{border-top:1px solid var(--ink);background:var(--paper);padding:48px 0 30px;font-size:14px}.footer-grid{grid-template-columns:2fr 1fr 1fr 1fr;gap:32px;display:grid}.footer h4{color:var(--ink);margin-bottom:10px;font-size:13px;font-weight:600}.footer a{color:var(--ink-2);margin:5px 0;text-decoration:none;display:block}.footer a:hover{color:var(--accent-dark)}.footer .legal{border-top:1px solid var(--rule);color:var(--ink-3);margin-top:36px;padding-top:18px;font-size:12.5px}@media (max-width:900px){h1{font-size:36px}.page-hero h1{font-size:32px}h2{font-size:27px}.hero-grid,.grid-2,.grid-3,.grid-4,.row,.footer-grid,.split,.project{grid-template-columns:1fr}.hero-grid{gap:40px}.split{gap:20px}.nav-links{background:var(--paper);border-bottom:1px solid var(--rule);flex-direction:column;padding:8px 16px 14px;display:none;position:absolute;top:68px;left:0;right:0}.nav-toggle{border:1px solid var(--rule-2);cursor:pointer;background:0 0;border-radius:3px;padding:6px 12px;font-family:inherit;font-size:14px;display:block}.nav:has(#nav-open:checked) .nav-links{display:flex}.nav .cta-desktop{display:none}.wrap,.narrow{padding:0 16px}.sec{padding:52px 0}table{display:block;overflow-x:auto}}
