:root {
 color-scheme:light;
 --bg:#ffffff;
 --panel:#ffffff;
 --text:#26313b;
 --muted:#586570;
 --accent:#274965;
 --accent-strong:#274965;
 --line:#d6dde2;
 --font:'IBM Plex Sans',Arial,sans-serif;
}
@media screen {
 body { font-size:17px; }
 h1,h2,h3,.company,.timeline-link strong,.work-head .work-brand { font-family:'IBM Plex Sans',Arial,sans-serif; }
 h1 { font-weight:600; letter-spacing:-.05em; }
 h1 span,h2 span,.work-head h2 span { color:inherit; }
 h2 { font-weight:500; letter-spacing:-.04em; }
 h3 { font-weight:700; letter-spacing:-.015em; }
 .nav { background:#fffffff5; border-color:var(--line); }
 .monogram { display:inline-flex; flex-shrink:0; border-radius:12px; line-height:0; }
 .monogram-mark { display:block; width:46px; height:46px; border-radius:12px; transition:box-shadow .2s ease; }
 .monogram:hover .monogram-mark { box-shadow:0 3px 12px #233f5724; }
 @media (max-width:560px) { .monogram-mark { width:42px; height:42px; } }
 @media (prefers-reduced-motion:reduce) { .monogram-mark { transition:none; } }
 nav { font-size:15px; }
 nav a[aria-current] { color:var(--text); text-decoration:underline; text-decoration-color:var(--accent-strong); text-underline-offset:7px; text-decoration-thickness:2px; }
 .nav-contact { background:var(--text); color:var(--bg); border-color:var(--text); }
 .nav-contact:hover { color:white; background:#37536c; }
 .reading-progress { background:var(--accent-strong); }
 .hero { padding-block:74px; gap:75px; }
 .hero h1 { font-size:clamp(46px,5.2vw,74px); line-height:1.06; }
 .hero .eyebrow { font-size:15px; font-weight:600; letter-spacing:0; margin-bottom:24px; color:var(--muted); }
 .accent-line { width:9px; height:9px; border-radius:50%; background:var(--accent-strong); }
 .hero-statement { font-weight:500; font-size:29px; letter-spacing:-.025em; margin-top:30px; }
 .intro { font-size:17px; line-height:1.75; max-width:590px; }
 .button { border-radius:100px; padding:14px 22px; }
 .primary { background:var(--text); color:#fff; }
 .primary:hover { background:#37536c; color:white; transform:none; }
 .text-link { color:var(--text); text-decoration-color:#a1aeb7; }
 .text-link:hover { color:var(--accent); text-decoration-color:var(--accent); }
 .portrait { border:5px solid var(--bg); box-shadow:0 0 0 2px #cad3d9; }
 .profile-location { color:var(--muted); font-size:12px; letter-spacing:0; margin-top:22px; }
 .profile-note { font-family:'IBM Plex Sans',sans-serif; font-size:17px; font-weight:500; }
 .profile-link { color:var(--accent); }
 .eyebrow { letter-spacing:0; text-transform:none; font-size:13px; font-weight:600; }
 .section { padding-block:80px; }
 .section-heading { margin-bottom:34px; }
 .section-heading-note { max-width:350px; }
 .section-heading-note > p { color:var(--muted); }
 .journey-section { background:#f1f3f5; border-block:1px solid var(--line); }
 .timeline-date { color:#576776; letter-spacing:0; font-size:13px; }
 .timeline-node { background:#f1f3f5; border-color:#7c8e9e; }
 .timeline li:not(:last-child):after { background:#bac6ce; }
 .timeline-link[aria-current] .timeline-node { background:var(--accent-strong); border-color:var(--accent); box-shadow:0 0 0 5px #dfe7ed; }
 .timeline-link[aria-current] strong { color:var(--text); }
 .timeline-role { color:#50606d; }
 .timeline-outcome { color:#5c6d79; }
 .timeline-link strong { font-weight:700; }
 .brand-logo { border-color:#c5cfd7; }
 .work-section { background:#edf1f4; color:var(--text); border-bottom:1px solid #d3dce3; }
 .work-head .work-brand { color:var(--text); font-weight:700; }
 .work-head p,.work-cta p { color:#4c5e6d; }
 .work-head .work-role { color:#586b7b; }
 .workflow { border-color:#ccd6df; }
 .workflow span { font-size:15px; font-weight:500; }
 .workflow span:not(:last-child):after { color:#687e91; }
 .work-cta .button { color:white; border-color:var(--text); background:var(--text); }
 .work-cta .button:hover { background:#37536c; }
 .large-copy { font-weight:500; }
 .company { font-weight:700; }
 details[open] .company { color:var(--text); }
 .badge { border-color:#cad5df; color:#4c6173; background:#eaf0f5; }
 .achievement-list strong { color:var(--text); font-weight:600; }
 .recommendations-section { background:#f1f3f5; border-color:#d3dbe1; }
 .quote-card { background:white; border-color:#d6dde2; border-radius:10px; }
 .quote-topline > p { color:#526578; letter-spacing:0; }
 .quote-mark { color:var(--accent-strong); }
 .recommendation-emblem { color:#6b8295; }
 .quote-card .quote-text { font-family:'IBM Plex Sans',sans-serif; font-size:25px; line-height:1.5; font-weight:400; letter-spacing:-.025em; }
 .quote-card p.quote-text { font-size:24px; }
 .initials { background:#e8eef3; color:var(--text); font-family:'IBM Plex Sans',sans-serif; font-weight:700; }
 .quote-card .quote-date { color:#586570; }
 .carousel-arrow { background:var(--text); border-color:var(--text); color:white; }
 .carousel-arrow:hover:not(:disabled) { background:#37536c; border-color:#37536c; }
 .carousel-counter { color:#526374; }
 .carousel-pagination button::before { background:#94a5b3; }
 .carousel-pagination button[aria-current=true]::before { background:var(--accent); }
 .carousel-pagination button:hover::before { background:var(--text); }
 .writing { padding-top:0; }
 .writing-slide .article { background:white; border-color:#d1dbe3; border-radius:10px; }
 .writing-slide .article:hover { background:#f7f9fb; border-color:#94aabd; }
 .article-topline > span:last-child { color:#506171; border-color:#c4d0d9; background:#f2f5f7; }
 .article-symbol { background:#e7eef4; color:var(--accent); }
 .writing-slide .article .eyebrow { color:#566c7f; font-size:13px; letter-spacing:0; text-transform:none; }
 .writing-slide .article h3 { font-size:21px; line-height:1.4; font-weight:600; }
 .article p:not(.eyebrow) { font-size:15px; }
 .writing-slide .article .article-link { color:var(--text); border-color:#d7dfe5; }
 .contact-section { background:#e8edf1; border-color:#cdd8e0; }
 .contact-panel { background:#ffffff; border-color:#c8d4dd; border-radius:12px; }
 .contact-tabs { background:#e8edf1; }
 .contact-tabs button { color:#566879; }
 .contact-tabs button[aria-selected=true] { color:white; background:var(--text); box-shadow:none; }
 label { color:var(--text); }
 input,textarea,select { color:var(--text); background:white; border-color:#a1b2c0; }
 input:focus,textarea:focus,select:focus { border-color:var(--text); box-shadow:0 0 0 2px #d6e2ec; }
 input::placeholder,textarea::placeholder { color:#5b6e7d; }
 .optional,.form-privacy { color:#5b6a77; }
 .form-status { color:var(--text); }
 .form-status a { color:var(--accent); }
 .contact-details span { color:var(--accent); }
 .prose-page h1 { letter-spacing:-.04em; }
}
@media screen and (max-width:1050px) {
 .hero { grid-template-columns:minmax(0,1fr) 205px; gap:40px; }
 .hero h1 { font-size:clamp(44px,5.4vw,64px); }
 .hero .eyebrow { font-size:13px; }
 .hero-profile { max-width:205px; }
 .portrait { width:190px; height:190px; }
 .hero-statement { font-size:27px; }
}
@media screen and (max-width:780px) {
 .hero { grid-template-columns:minmax(0,1fr) 170px; gap:32px; padding-block:50px; }
 .hero h1 { font-size:clamp(34px,5.65vw,47px); }
 .hero-profile { max-width:170px; }
 .portrait { width:160px; height:160px; }
 .hero .eyebrow { font-size:12px; }
 .hero-statement { font-size:24px; }
 .profile-note { font-size:15px; }
 .section { padding-block:64px; }
 .writing { padding-top:0; }
 .quote-card .quote-text { font-size:23px; }
 .quote-card p.quote-text { font-size:22px; }
 nav { font-size:13px; }
}
@media screen and (max-width:560px) {
 .hero { gap:28px; padding-block:30px 44px; }
 .hero h1 { font-size:clamp(31px,9.1vw,50px); line-height:1.08; }
 .hero .eyebrow { font-size:12px; margin-bottom:20px; }
 .hero-statement { font-size:26px; margin-top:26px; }
 .hero-profile { max-width:none; }
 .portrait { width:84px; height:84px; border-width:3px; box-shadow:0 0 0 1px #c2cdd5; }
 .profile-note { font-size:14px; }
 .profile-location { font-size:11px; margin:0; }
 .section { padding-block:54px; }
 .writing { padding-top:0; }
 .section-heading-note { margin-top:20px; }
 h2 { font-size:32px; }
 .work-head h2 { font-size:40px; }
 .timeline-date { font-size:12px; }
 .quote-card .quote-text { font-size:24px; }
 .quote-card p.quote-text { font-size:22px; }
 .writing-slide .article h3 { font-size:23px; }
 .prose-page h1 { font-size:34px; }
}

@media screen {
 .nav-contact,.primary,.carousel-arrow,.work-cta .button,.contact-tabs button[aria-selected=true] { background:#233f57; }
 .article-platform { font-size:13px; font-weight:500; color:#657686; }
 .article-topline { margin-bottom:24px; }
 .quote-topline > p { font-weight:500; }
 .brand-logo { background:#fff; }
}
