:root{--ink:#262c2e;--muted:#626b6c;--paper:#fafbf9;--line:#d8deda;--teal:#008276;--pale:#e4eeea}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:32px}body{margin:0;background:var(--paper);color:var(--ink);font:17px/1.65 Helvetica,Arial,sans-serif}a{color:inherit;text-decoration-thickness:1px;text-underline-offset:5px}a:hover{color:var(--teal)}a:focus-visible,button:focus-visible{outline:3px solid var(--teal);outline-offset:6px}.wrap{max-width:1400px;margin:auto;padding:0 64px}header{display:flex;justify-content:space-between;align-items:center;padding:30px 0;border-bottom:1px solid var(--line)}.brand{text-decoration:none;font-size:23px;font-weight:700;letter-spacing:-1px}.brand span{color:var(--teal)}nav{display:flex;gap:30px;font-size:14px}nav a{text-decoration:none}.hero{padding:83px 0 57px}.eyebrow,.label{font-size:13px;letter-spacing:.11em;text-transform:uppercase;font-weight:600;color:var(--teal)}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(48px,6.2vw,88px);line-height:1.02;font-weight:500;letter-spacing:-.055em;max-width:1030px;margin:29px 0 35px}h1 em,h2 em,.large em{font-family:Georgia,'Times New Roman',serif;font-style:italic;font-weight:400;letter-spacing:-.035em;color:var(--teal)}.hero-bottom{display:grid;grid-template-columns:1fr 1fr;align-items:end;gap:50px}.hero-bottom p{max-width:550px;font-size:19px;line-height:1.6;margin:0}.text-link{font-size:15px;font-weight:600}.proof{display:flex;gap:45px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:23px 0;font-size:14px}.proof strong{font-size:26px;letter-spacing:-1px;margin-right:7px;font-weight:500}.proof .disciplines{margin-left:auto;max-width:235px;line-height:1.5;color:var(--muted)}section{padding:65px 0}.section-heading{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:28px}h2{font-size:35px;letter-spacing:-.035em;line-height:1.15;font-weight:500}.section-heading p{font-size:14px;color:var(--muted)}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:27px}.card{text-decoration:none;display:block}.card h3{font-size:26px;line-height:1.2;letter-spacing:-.025em;font-weight:500;margin:18px 0 12px}.card p{font-size:15px;line-height:1.65;color:var(--muted)}.card .meta{font-size:12px;text-transform:uppercase;letter-spacing:.08em;margin-top:20px}.art{height:260px;padding:25px;background:var(--pale);display:flex;flex-direction:column;justify-content:center;overflow:hidden;position:relative;color:#174a43}.art .art-label{position:absolute;top:19px;left:22px;font-size:11px;letter-spacing:.1em;text-transform:uppercase}.flow{display:flex;align-items:center;gap:8px}.flow span{border:1px solid #749b8f;padding:17px 8px;font-size:12px;text-align:center;flex:1}.flow b{font-size:15px;font-weight:400}.art-note{font-size:11px;position:absolute;bottom:15px;left:22px;color:#526e65}.codeart{background:#243d3b;color:#cbe7df}.codeart .art-note{color:#afc9c3}.codebox{border-top:1px solid #69807c;border-bottom:1px solid #69807c;padding:18px 0;font:14px/1.9 monospace}.codebox i{color:#8ed7c3;font-style:normal}.systemart{background:#e7e9ef;color:#424b64}.systemgrid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.systemgrid span{border:1px solid #a3acbc;padding:13px;font-size:13px}.split{display:grid;grid-template-columns:1fr 2fr;gap:80px;border-top:1px solid var(--line)}.split .large{font-size:30px;line-height:1.4;letter-spacing:-.025em}.split p{max-width:760px}.facts{display:flex;gap:40px;font-size:14px}.facts b{display:block;color:var(--teal);font-weight:500}.timeline{border-top:1px solid var(--line)}.job{display:grid;grid-template-columns:1fr 1.5fr 2fr;gap:25px;border-bottom:1px solid var(--line);padding:25px 0}.job h3{font-size:18px;margin:0;font-weight:500}.job p{font-size:15px;margin:0;color:var(--muted)}footer{border-top:1px solid var(--line);padding:25px 0 35px;display:flex;justify-content:space-between;font-size:13px;color:var(--muted)}.note{border-left:2px solid var(--teal);padding:12px 20px;background:#edf2ef;color:#52605c;font-size:14px}.casehero{padding:65px 0 50px}.casehero h1{font-size:clamp(42px,5.5vw,76px)}.casehero .intro{font-size:24px;line-height:1.5;max-width:900px}.case-layout{display:grid;grid-template-columns:230px 1fr;gap:80px;padding:50px 0 90px;border-top:1px solid var(--line)}.case-layout aside{font-size:14px}.case-layout aside a{display:block;margin-bottom:14px;text-decoration:none}.case-body{max-width:780px}.case-body h2{font-size:30px;margin:45px 0 20px}.case-body h2:first-child{margin-top:0}.case-body h3{font-size:22px;margin:30px 0 15px}.case-body li{margin-bottom:12px}.case-body table{border-collapse:collapse;width:100%;font-size:14px}.case-body td,.case-body th{padding:15px;border-bottom:1px solid var(--line);text-align:left}.case-body .table-wrap{overflow:auto}.status{font-size:12px;color:var(--teal);text-transform:uppercase;letter-spacing:.1em}.back{display:inline-block;margin-bottom:20px;font-size:14px}.skip{position:absolute;left:-999px}.skip:focus{left:20px;top:20px;background:white;z-index:20}.empty-contact{font-size:14px;color:var(--muted)}@media(max-width:900px){.wrap{padding:0 28px}.hero{padding-top:55px}.cards{gap:18px}.art{height:220px;padding:18px}.flow{gap:3px}.flow span{font-size:10px;padding:12px 3px}.card h3{font-size:22px}.split{gap:35px}.case-layout{grid-template-columns:160px 1fr;gap:35px}.proof{gap:25px}.proof .disciplines{max-width:190px}}@media(max-width:650px){.wrap{padding:0 22px}header{padding:23px 0;gap:20px;align-items:flex-start}.brand{font-size:21px}nav{gap:13px;font-size:13px;flex-wrap:wrap;justify-content:flex-end;max-width:230px}.hero{padding:50px 0 35px}h1{font-size:51px;margin:25px 0 30px}.hero-bottom{grid-template-columns:1fr;gap:25px}.hero-bottom p{font-size:17px}.proof{gap:18px;flex-wrap:wrap}.proof strong{font-size:23px}.proof .disciplines{margin:0;max-width:none;width:100%}.cards{grid-template-columns:1fr;gap:40px}.art{height:265px}.flow span{font-size:13px;padding:20px 10px}.section-heading{display:block}section{padding:45px 0}.split{grid-template-columns:1fr;gap:12px}.split .large{font-size:25px}.facts{flex-wrap:wrap;gap:25px}.job{grid-template-columns:1fr;gap:8px}.case-layout{grid-template-columns:1fr;gap:25px;padding-top:25px}.case-layout aside{display:none}.casehero .intro{font-size:20px}.casehero{padding-top:35px}footer{gap:20px}.systemgrid span{padding:18px}.codebox{font-size:15px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
@media(min-width:651px) and (max-width:1000px){.cards{grid-template-columns:1fr}.card{display:grid;grid-template-columns:1fr 1fr;column-gap:30px}.card .art{grid-row:1/5;height:270px}.card .meta{margin-top:5px}.card h3{font-size:27px}.card p{margin-bottom:15px}.codebox{font-size:14px}.flow span{font-size:12px;padding:16px 5px}}

.contact-links{display:flex;flex-wrap:wrap;gap:12px 24px;margin-top:28px;font-size:15px}.contact-links a{overflow-wrap:anywhere}nav{flex-wrap:wrap} @media(max-width:400px){h1{font-size:44px}.brand{white-space:nowrap}}

/* Airier editorial typography, informed by the reference reviewed 24 September. */
:root{--accent:#01d3b9;--teal:#007f72;--teal-display:#008d7e}
body{line-height:1.7}
.brand{letter-spacing:-.035em}.brand span{color:var(--accent)}
.hero{padding:100px 0 76px}
h1{font-size:clamp(48px,6.25vw,80px);line-height:1.1;letter-spacing:-.03em;margin:28px 0 44px;font-weight:500}
h1 em,h2 em,.large em{letter-spacing:-.015em;color:var(--teal-display)}
.hero-bottom{gap:64px}.hero-bottom p{font-size:18px;line-height:1.75;max-width:520px}
.eyebrow,.label{letter-spacing:.075em}
section{padding:80px 0}.section-heading{margin-bottom:36px}
h2{font-size:32px;line-height:1.25;letter-spacing:-.015em}
.card h3{font-size:25px;line-height:1.3;letter-spacing:-.015em;margin:23px 0 15px}
.card p{font-size:16px;line-height:1.75}.cards{gap:34px}
.split .large{font-size:29px;line-height:1.5;letter-spacing:-.015em;max-width:680px}
.split p{margin-bottom:24px}.facts{margin-top:32px}
.casehero{padding:80px 0 64px}.casehero h1{font-size:clamp(42px,5.5vw,72px);line-height:1.12}
.casehero .intro{font-size:22px;line-height:1.6;max-width:800px}
.case-body{max-width:720px}.case-body p{margin-bottom:24px}.case-body h2{font-size:29px;line-height:1.3;letter-spacing:-.015em;margin:52px 0 24px}
.job{padding:32px 0}.job p{font-size:16px;line-height:1.75}
a:focus-visible,button:focus-visible{outline-color:var(--accent);box-shadow:0 0 0 1px var(--ink)}
.text-link{text-decoration-color:var(--accent);text-decoration-thickness:2px}
@media(max-width:650px){.hero{padding:62px 0 48px}h1{font-size:clamp(42px,10.8vw,56px);line-height:1.12;margin:28px 0 34px}.hero-bottom{gap:28px}.hero-bottom p{font-size:17px;line-height:1.75}section{padding:56px 0}.cards{gap:46px}.card h3{font-size:25px}.split .large{font-size:25px;line-height:1.5}.casehero{padding:48px 0}.casehero h1{font-size:42px}.casehero .intro{font-size:20px}.case-body h2{font-size:27px}.job{padding:28px 0}}

.about-portrait{display:block;width:100%;max-width:260px;height:auto;aspect-ratio:1;border-radius:8px;margin-top:30px}@media(max-width:650px){.about-portrait{max-width:220px;margin:24px 0 20px}}

/* Public holding page at the site root. */
.holding{display:grid;grid-template-columns:1.7fr 1fr;gap:80px;align-items:center;padding:90px 0 100px}
.holding h1{margin-top:24px;font-size:clamp(44px,5vw,72px)}
.holding .large{font-size:28px;line-height:1.4;letter-spacing:-.025em;max-width:640px}
.holding-copy p{max-width:640px}
.holding-portrait{width:100%;max-width:420px;height:auto;border-radius:6px;justify-self:end}
.holding-actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:36px}
.button{display:inline-block;padding:14px 22px;border-radius:4px;background:var(--ink);color:var(--paper);font-size:15px;font-weight:600;text-decoration:none;overflow-wrap:anywhere}
.button:hover{background:var(--teal);color:#fff}
.button.secondary{background:transparent;color:var(--ink);border:1px solid var(--ink)}
.button.secondary:hover{border-color:var(--teal);color:var(--teal);background:transparent}
@media(max-width:900px){.holding{grid-template-columns:1fr;gap:40px;padding:50px 0 70px}.holding-portrait{grid-row:1;justify-self:start;max-width:160px}}
@media(max-width:650px){.holding h1 br{display:none}.holding .large{font-size:23px}.holding-actions .button{width:100%;text-align:center}}
