:root{--charcoal:#242727;--ivory:#F2EEE5;--orange:#BF5B36;color-scheme:light}
*{box-sizing:border-box}
html{background:var(--ivory);color:var(--charcoal);font-family:'IBM Plex Sans',Arial,sans-serif;-webkit-text-size-adjust:100%}
body{margin:0;font-size:18px;line-height:1.55}
a{color:inherit}
.page{max-width:1168px;padding:48px 48px 24px;margin-inline:auto}
p,h1,h2{margin:0}
.masthead{display:flex;align-items:center;justify-content:space-between;gap:48px;padding-bottom:48px;position:relative;border-bottom:1px solid var(--charcoal)}
.masthead::after{content:'';position:absolute;right:0;bottom:-1px;width:48px;height:1px;background:var(--orange);border-left:4px solid var(--ivory)}
.wordmark{display:block;width:264px;height:auto;margin-block:16px}
.identity{font-family:'IBM Plex Mono',monospace;font-size:12px;line-height:1.5}
.identity span{display:inline-block;padding-inline:8px}
.hero{padding-block:64px}
h1{font-family:'Roboto Slab',Georgia,serif;font-weight:600;font-size:48px;line-height:1.15}
.positioning{max-width:660px;margin-top:24px;font-size:20px;line-height:1.55}
.contact{margin-top:32px;display:inline-grid;grid-template-columns:1fr auto;column-gap:24px;align-items:center;background:var(--charcoal);color:var(--ivory);padding:16px 24px;text-decoration:none;min-height:48px}
.contact-label{font-size:16px;font-weight:500;text-decoration:underline;text-underline-offset:4px}
.email{grid-row:2;font-size:14px;margin-top:4px}
.arrow{grid-column:2;grid-row:1/3;font-size:24px;line-height:1}
.contact:hover .contact-label{text-decoration-thickness:2px}
a:focus-visible{outline:3px solid var(--charcoal);outline-offset:5px}
.services{border-top:1px solid var(--charcoal)}
.service{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.75fr);gap:48px;padding-block:32px;border-bottom:1px solid var(--charcoal)}
h2{font-size:24px;line-height:1.3;font-weight:500;max-width:300px}
.service p{max-width:640px;font-size:18px;line-height:1.55}
.audience{padding-block:32px;font-size:16px}
.audience span{font-weight:600}
footer{padding-top:24px;border-top:1px solid var(--charcoal);font-size:14px}
.skip-link{position:absolute;top:8px;left:8px;padding:12px 16px;z-index:10;background:var(--charcoal);color:var(--ivory);transform:translateY(-160%)}
.skip-link:focus{transform:none}
#main:focus{outline:none}
@media(min-width:1440px){.page{padding-top:64px}}
@media(max-width:640px){
 body{font-size:16px}
 .page{padding:24px 24px 24px}
 .masthead{display:block;padding-bottom:32px}
 .wordmark{width:240px;max-width:100%;margin:16px 0 32px}
 .identity{font-size:12px}
 .hero{padding-block:48px}
 h1{font-size:40px;max-width:320px}
 .positioning{font-size:18px;margin-top:24px}
 .contact{padding:16px;column-gap:16px;max-width:100%}
 .service{grid-template-columns:1fr;gap:16px;padding-block:32px}
 h2{font-size:24px;max-width:none}
 .service p{font-size:18px}
 .audience{max-width:290px;font-size:16px}
 footer{font-size:14px}
}
@media print{.page{max-width:none;padding:24px}.contact{background:none;color:var(--charcoal);border:1px solid var(--charcoal)}.skip-link{display:none}}
