:root{--bg:#fff;--fg:#000;--accent:#e2001a;--rule:#000;--grid-line:#0000000a;--col-count:12;--col-gap:24px;--page-pad:40px;--max-width:1280px;--fs-meta:11px;--fs-body:14px;--fs-small:13px;--fs-lead:22px;--fs-h2:15px;--fs-num:13px;--fs-display:clamp(32px, 4.5vw, 56px);--lh-body:1.55;--lh-display:1.05}*{box-sizing:border-box}html,body{background:var(--bg);color:var(--fg);margin:0;padding:0}body{font-family:Helvetica Neue,Inter,IBM Plex Sans,Helvetica,Arial,sans-serif;font-size:var(--fs-body);line-height:var(--lh-body);letter-spacing:-.005em;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-variant-numeric:tabular-nums;text-rendering:optimizelegibility}a{color:inherit;border-bottom:1px solid;text-decoration:none;transition:color .12s linear,border-color .12s linear}a:hover{color:var(--accent);border-bottom-color:var(--accent)}a.plain{border-bottom:none}a.plain:hover{color:var(--accent)}p{margin:0 0 1em}p:last-child{margin-bottom:0}h1,h2,h3,h4{letter-spacing:-.01em;margin:0;font-weight:400}hr.rule{border:0;border-top:1px solid var(--rule);height:0;margin:0}hr.rule.hair{border-top-width:1px}.page{max-width:var(--max-width);padding:28px var(--page-pad) 80px;margin:0 auto;position:relative}.meta-top{font-size:var(--fs-meta);text-transform:uppercase;letter-spacing:.08em;border-bottom:1px solid var(--rule);grid-template-columns:1fr auto;gap:16px;margin-bottom:64px;padding-bottom:18px;display:grid}.meta-top .monogram{letter-spacing:.12em;font-weight:700}.meta-top .meta-line span{display:inline}.meta-top .meta-line span+span:before{content:" / ";color:var(--fg);opacity:.6;padding:0 4px}.grid{grid-template-columns:repeat(var(--col-count), minmax(0, 1fr));column-gap:var(--col-gap);row-gap:0;display:grid}.section{grid-template-columns:repeat(var(--col-count), minmax(0, 1fr));column-gap:var(--col-gap);border-top:1px solid var(--rule);padding:56px 0;display:grid;position:relative}.section:first-of-type{border-top:0;padding-top:0}.section-num{font-size:var(--fs-num);letter-spacing:.06em;color:var(--accent);font-variant-numeric:tabular-nums;grid-column:1/span 1;padding-top:4px;font-weight:500}.section-label{font-size:var(--fs-meta);text-transform:uppercase;letter-spacing:.14em;color:var(--fg);grid-column:2/span 2;padding-top:4px}.section-body{column-gap:var(--col-gap);grid-column:4/span 9;grid-template-columns:repeat(9,minmax(0,1fr));row-gap:0;display:grid}.statement-name{font-size:var(--fs-display);line-height:var(--lh-display);letter-spacing:-.02em;grid-column:1/span 9;margin-bottom:40px;font-weight:400}.statement-name .accent{color:var(--accent)}.statement-role{font-size:var(--fs-small);text-transform:uppercase;letter-spacing:.14em;grid-column:1/span 4;margin-bottom:32px}.statement-lead{font-size:var(--fs-lead);letter-spacing:-.01em;grid-column:1/span 7;font-weight:400;line-height:1.4}.services{column-gap:var(--col-gap);grid-column:1/span 9;grid-template-columns:repeat(3,minmax(0,1fr));row-gap:0;display:grid}.service{border-left:1px solid var(--rule);padding-left:16px;padding-right:16px}.service:first-child{border-left:0;padding-left:0}.service .s-head{font-size:var(--fs-meta);text-transform:uppercase;letter-spacing:.14em;color:var(--accent);margin-bottom:18px;font-weight:500}.service h3{letter-spacing:-.015em;margin-bottom:14px;font-size:20px;font-weight:500;line-height:1.15}.service p{font-size:var(--fs-small);line-height:1.55}.catalog{border-top:1px solid var(--rule);grid-column:1/span 9}.catalog-row{column-gap:var(--col-gap);border-bottom:1px solid var(--rule);font-variant-numeric:tabular-nums;grid-template-columns:.6fr 2.2fr 3.5fr 1.5fr;align-items:baseline;padding:18px 0;display:grid}.catalog-row.head{font-size:var(--fs-meta);text-transform:uppercase;letter-spacing:.14em;padding:10px 0}.catalog-row .c-num{font-variant-numeric:tabular-nums;letter-spacing:.04em;font-size:var(--fs-small)}.catalog-row .c-title{letter-spacing:-.01em;font-size:17px;font-weight:500}.catalog-row .c-desc{font-size:var(--fs-small);line-height:1.5}.catalog-row .c-link{font-size:var(--fs-small);text-align:right;text-transform:uppercase;letter-spacing:.1em}.catalog-row .c-link a{border-bottom:1px solid}.theses{column-gap:var(--col-gap);grid-column:1/span 9;grid-template-columns:repeat(9,minmax(0,1fr));row-gap:0;display:grid}.thesis{column-gap:var(--col-gap);border-bottom:1px solid var(--rule);grid-column:span 9;grid-template-columns:repeat(9,minmax(0,1fr));align-items:baseline;padding:16px 0;display:grid}.thesis:first-child{border-top:1px solid var(--rule)}.thesis .t-num{font-variant-numeric:tabular-nums;font-size:var(--fs-small);letter-spacing:.04em;color:var(--accent);grid-column:1/span 1}.thesis .t-text{letter-spacing:-.005em;grid-column:2/span 8;font-size:16px;font-weight:400;line-height:1.45}.about{column-gap:var(--col-gap);grid-column:1/span 9;grid-template-columns:repeat(9,minmax(0,1fr));display:grid}.about p{font-size:var(--fs-body);grid-column:1/span 6;margin-bottom:14px;line-height:1.55}.about ul{font-size:var(--fs-small);grid-column:7/span 3;margin:0;padding:0;list-style:none}.about ul li{border-bottom:1px solid var(--rule);font-variant-numeric:tabular-nums;padding:6px 0}.about ul li:first-child{border-top:1px solid var(--rule)}.about ul li .year{width:42px;color:var(--accent);display:inline-block}.contact{column-gap:var(--col-gap);grid-column:1/span 9;grid-template-columns:repeat(9,minmax(0,1fr));display:grid}.contact .cta{grid-column:1/span 5}.contact .cta .big{letter-spacing:-.02em;margin-bottom:16px;font-size:clamp(26px,3.2vw,40px);font-weight:400;line-height:1.1}.contact .cta .big a{color:var(--accent);border-bottom:1px solid var(--accent)}.contact .cta p{font-size:var(--fs-small);max-width:36em}.contact .links{font-size:var(--fs-small);font-variant-numeric:tabular-nums;grid-column:6/span 4;grid-template-columns:auto 1fr;align-self:start;gap:0 16px;display:grid}.contact .links dt{text-transform:uppercase;letter-spacing:.12em;font-size:var(--fs-meta);border-bottom:1px solid var(--rule);color:var(--fg);padding:8px 0}.contact .links dd{border-bottom:1px solid var(--rule);margin:0;padding:8px 0}.contact .links dt:first-of-type,.contact .links dd:first-of-type{border-top:1px solid var(--rule)}.page-footer{border-top:1px solid var(--rule);grid-template-columns:repeat(var(--col-count), minmax(0, 1fr));column-gap:var(--col-gap);font-size:var(--fs-meta);text-transform:uppercase;letter-spacing:.12em;margin-top:80px;padding-top:18px;display:grid}.page-footer .fcol-1{grid-column:1/span 3}.page-footer .fcol-2{grid-column:4/span 3}.page-footer .fcol-3{grid-column:7/span 3}.page-footer .fcol-4{text-align:right;grid-column:10/span 3}.page-footer a{border-bottom:1px solid}.legal-body{font-size:var(--fs-body);grid-column:4/span 9;line-height:1.6}.legal-body h2{letter-spacing:-.01em;border-top:1px solid var(--rule);margin:32px 0 10px;padding-top:20px;font-size:17px;font-weight:500}.legal-body h2:first-child{border-top:0;margin-top:0;padding-top:0}.legal-body h3{letter-spacing:.04em;text-transform:uppercase;margin:18px 0 8px;font-size:14px;font-weight:500}.legal-body p{max-width:68ch;margin:0 0 12px}.legal-body ul{max-width:68ch;margin:0 0 12px;padding-left:1.2em}.legal-body address{margin:0 0 12px;font-style:normal}.legal-title{font-size:var(--fs-display);line-height:var(--lh-display);letter-spacing:-.02em;border-bottom:1px solid var(--rule);grid-column:1/span 12;margin-bottom:32px;padding-bottom:18px}.legal-title small{font-size:var(--fs-meta);text-transform:uppercase;letter-spacing:.14em;color:var(--accent);margin-bottom:8px;font-weight:500;display:block}@media (width<=960px){:root{--page-pad:28px;--col-gap:18px}.services{grid-template-columns:1fr;row-gap:28px}.service{border-left:0;border-top:1px solid var(--rule);padding-top:20px;padding-left:0}.service:first-child{border-top:0;padding-top:0}}@media (width<=720px){:root{--col-count:6;--page-pad:22px;--col-gap:14px}.section{padding:40px 0}.section-num{grid-column:1/span 1}.section-label{grid-column:2/span 5}.section-body{grid-column:1/span 6;grid-template-columns:repeat(6,minmax(0,1fr));margin-top:24px}.statement-name,.statement-role,.statement-lead,.services,.catalog{grid-column:1/span 6}.catalog-row{grid-template-columns:.5fr 2fr;row-gap:6px}.catalog-row .c-desc{grid-column:1/span 2}.catalog-row .c-link{text-align:left;grid-column:1/span 2}.catalog-row.head .c-desc,.catalog-row.head .c-link{display:none}.theses{grid-column:1/span 6;grid-template-columns:repeat(6,minmax(0,1fr))}.thesis{grid-column:span 6;grid-template-columns:repeat(6,minmax(0,1fr))}.thesis .t-num{grid-column:1/span 1}.thesis .t-text{grid-column:2/span 5;font-size:15px}.about{grid-column:1/span 6;grid-template-columns:repeat(6,minmax(0,1fr))}.about p{grid-column:1/span 6}.about ul{grid-column:1/span 6;margin-top:12px}.contact{grid-column:1/span 6;grid-template-columns:repeat(6,minmax(0,1fr))}.contact .cta{grid-column:1/span 6;margin-bottom:28px}.contact .links,.legal-body,.legal-title{grid-column:1/span 6}.page-footer{grid-template-columns:repeat(6,minmax(0,1fr));row-gap:14px}.page-footer .fcol-1{grid-column:1/span 6}.page-footer .fcol-2{grid-column:1/span 3}.page-footer .fcol-3{text-align:right;grid-column:4/span 3}.page-footer .fcol-4{text-align:left;grid-column:1/span 6}.meta-top{grid-template-columns:1fr;row-gap:6px;margin-bottom:40px}}@media (width<=480px){:root{--col-count:4;--page-pad:18px;--col-gap:10px;--fs-body:13px;--fs-small:12px;--fs-lead:18px}.section{padding:32px 0}.section-num{grid-column:1/span 1}.section-label{grid-column:2/span 3}.section-body{grid-column:1/span 4;grid-template-columns:repeat(4,minmax(0,1fr))}.statement-name,.statement-role,.statement-lead,.services,.catalog{grid-column:1/span 4}.catalog-row{grid-template-columns:.6fr 2fr}.theses{grid-column:1/span 4;grid-template-columns:repeat(4,minmax(0,1fr))}.thesis{grid-column:span 4;grid-template-columns:repeat(4,minmax(0,1fr))}.thesis .t-num{grid-column:1/span 1}.thesis .t-text{grid-column:2/span 3}.about{grid-column:1/span 4;grid-template-columns:repeat(4,minmax(0,1fr))}.about p,.about ul{grid-column:1/span 4}.contact{grid-column:1/span 4;grid-template-columns:repeat(4,minmax(0,1fr))}.contact .cta,.contact .links,.legal-body,.legal-title{grid-column:1/span 4}.page-footer{grid-template-columns:repeat(4,minmax(0,1fr))}.page-footer .fcol-1,.page-footer .fcol-2{grid-column:1/span 4}.page-footer .fcol-3{text-align:left;grid-column:1/span 4}.page-footer .fcol-4{grid-column:1/span 4}}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}@media print{:root{--accent:#000}a{border-bottom:none}.page{max-width:none;padding:0}}
