@charset "UTF-8";
:root{color-scheme:light;--ink:#15243a;--muted:#526071;--blue:#214bd3;--paper:#f7f8fa;--line:#d5dbe3;--navy:#122239;--light:#eef2f8;--max:1240px}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:2rem}
body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;font-size:1rem;line-height:1.65;-webkit-font-smoothing:antialiased}
::selection{background:#c5d4ff;color:var(--ink)}
a{color:inherit;text-underline-offset:.25em}
a:hover{color:var(--blue)}
a:focus-visible,summary:focus-visible{outline:3px solid var(--blue);outline-offset:6px;border-radius:2px}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.wrap{width:min(var(--max),calc(100% - 112px));margin-inline:auto}
.skip-link{position:absolute;left:24px;top:-100px;z-index:10;padding:12px 20px;background:white;color:var(--ink)}
.skip-link:focus{top:16px}
.preview-note{background:#e9edf6;color:#33445d;text-align:center;font-size:.8125rem;padding:9px 20px;letter-spacing:.015em}
.preview-note strong{font-weight:700;margin-right:.5rem}
.header{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:112px;border-bottom:1px solid var(--line)}
.brand{display:flex;align-items:center;gap:13px;text-decoration:none;font-size:.9375rem;font-weight:700;line-height:1.25}
.brand-mark{width:42px;height:42px;border:1px solid var(--ink);display:grid;place-items:center;font-size:.875rem;letter-spacing:-.07em}
.nav{display:flex;gap:32px;align-items:center;flex-wrap:wrap;font-size:.875rem}
.nav a{text-decoration:none;padding-block:12px}
.nav a:hover{text-decoration:underline}
.eyebrow{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.8125rem;line-height:1.6;letter-spacing:.11em;text-transform:uppercase;margin:0}
.hero{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:40px;max-width:1120px;margin-inline:auto;padding:40px 0;border-bottom:1px solid var(--line);align-items:center}
.hero-main{padding:20px 0;display:flex;flex-direction:column;align-items:flex-start}
.hero .eyebrow{color:var(--blue)}
h1{font-weight:500;font-size:clamp(3rem,5.2vw,4.75rem);line-height:1.06;letter-spacing:-.06em;margin:22px 0 24px;max-width:100%;overflow-wrap:anywhere}
h1 span{display:inline-block}
.hero-intro{font-size:1.1875rem;line-height:1.7;max-width:34rem;color:var(--muted);margin:0 0 24px}
.hero-principles{display:flex;flex-wrap:wrap;gap:6px 14px;border-left:3px solid var(--blue);padding-left:16px;margin:0 0 32px;color:var(--ink);font-size:1.125rem;font-weight:500;letter-spacing:-.02em}
.text-link{display:inline-flex;align-items:center;gap:30px;padding:9px 0;border-bottom:1px solid currentColor;text-decoration:none;font-size:.9375rem;font-weight:700}
.text-link .arrow{font-size:1.25rem;line-height:1}
.hero-aside{background:var(--navy);color:var(--light);padding:28px;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden;width:100%;max-width:400px;justify-self:center}
.hero-aside .eyebrow{color:#b7c8ec}
.field-display{font-size:clamp(2.3rem,3.5vw,3.7rem);line-height:1.08;letter-spacing:-.05em;font-weight:400;margin:32px 0;overflow-wrap:anywhere}
.aside-rule{width:48px;height:3px;background:#8fafff;margin-bottom:26px}
.aside-footer{border-top:1px solid #465367;padding-top:23px;display:flex;justify-content:space-between;gap:8px 16px;align-items:baseline;font-size:.875rem;flex-wrap:wrap}
.aside-footer span{color:#bbc7d8}
.aside-footer strong{font-weight:500;font-size:inherit;white-space:nowrap}
.headshot{display:block;width:100%;height:auto;aspect-ratio:3/4;object-fit:cover;margin:24px 0}
.section{padding-block:76px;border-bottom:1px solid var(--line)}
.section-grid{display:grid;grid-template-columns:1fr 2fr;gap:56px}
.section-label{display:flex;align-items:baseline;gap:18px;color:var(--muted)}
.section-number{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.8125rem;color:var(--blue)}
h2{font-size:clamp(1.7rem,3vw,2.5rem);font-weight:500;letter-spacing:-.045em;line-height:1.2;margin:0 0 25px}
.section-label h2{font-size:1rem;letter-spacing:0;line-height:1.5}
.bio-copy{font-size:1.25rem;line-height:1.7;letter-spacing:-.015em;max-width:45rem;margin:0 0 35px}
.bio-copy p{margin:0 0 1em}
.facts{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);border-top:1px solid var(--line);gap:24px;padding-top:24px;margin:0;overflow-wrap:anywhere}
.facts dt{font-size:.8125rem;color:var(--muted);margin-bottom:7px}
.facts dd{margin:0;font-size:1rem}
.interests{display:flex;flex-wrap:wrap;gap:10px;padding:0;list-style:none;margin:28px 0 0}
.interests li{font-size:.875rem;padding:5px 13px;border:1px solid var(--line);border-radius:30px}
.record-list{list-style:none;padding:0;margin:0}
.record-more{border-top:1px solid var(--line)}
.record-more summary{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:48px;padding:14px 0;color:var(--blue);font-size:.9375rem;font-weight:700;cursor:pointer;list-style:none}
.record-more summary::-webkit-details-marker{display:none}
.record-more summary:hover .see-more,.record-more summary:hover .see-less{text-decoration:underline;text-underline-offset:.25em}
.more-count{font-weight:400;margin-left:5px}
.record-more .see-less,.record-more[open] .see-more{display:none}
.record-more[open] .see-less{display:inline}
.toggle-icon::before{content:'+';font-size:1.35rem;font-weight:400}
.record-more[open] .toggle-icon::before{content:'−'}
.record-more[open]>.record-list{padding-top:26px}
.record{border-top:1px solid var(--line);padding:32px 0;display:grid;grid-template-columns:6.5rem minmax(0,1fr);gap:24px}
.record:first-child{border-top:0;padding-top:0}
.record-date{font-size:.875rem;color:var(--muted)}
.record-kind{font-size:.8125rem;color:var(--blue);margin:0 0 7px}
.record h3{font-size:1.4rem;line-height:1.35;letter-spacing:-.025em;font-weight:500;margin:0 0 10px}
.record p{margin:0 0 10px}
.record-meta{font-size:.875rem;color:var(--muted)}
.record-source{font-size:.875rem;font-weight:700}
.date-type{display:block;font-size:.8125rem;margin-top:5px;line-height:1.45}
.record-authors{font-size:.875rem;color:var(--muted)}
.record-links{display:flex;flex-wrap:wrap;gap:10px 24px;align-items:baseline;font-size:.875rem;overflow-wrap:anywhere}
.record h3{overflow-wrap:anywhere}
.record-index{display:grid;grid-template-columns:1fr 2fr;gap:56px;padding:48px 0;border-bottom:1px solid var(--line)}
.record-index .eyebrow{color:var(--blue);margin-bottom:14px}
.record-index h2{font-size:1.65rem;max-width:15rem;margin:0}
.record-index>*{min-width:0;overflow-wrap:anywhere}
.record-index nav{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,10rem),1fr));gap:0 32px}
.record-index a{display:flex;align-items:center;justify-content:space-between;gap:14px;text-decoration:none;border-bottom:1px solid var(--line);padding:14px 0;font-size:.9375rem}
.record-index a:hover{text-decoration:underline}
.featured-section{padding:48px 0 64px;border-bottom:1px solid var(--line)}
.featured-heading{display:flex;justify-content:space-between;gap:24px;align-items:center;margin-bottom:28px}
.featured-heading .eyebrow{color:var(--muted);margin:0;font-weight:400}
.featured-heading a{font-size:.875rem}
.featured-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}
.featured-card{display:flex;flex-direction:column;border-top:2px solid var(--blue);padding-top:22px;min-width:0}
.featured-card .eyebrow{font-size:.75rem;color:var(--blue);letter-spacing:.06em}
.featured-card h3{font-size:1.4rem;line-height:1.35;letter-spacing:-.025em;font-weight:500;margin:16px 0}
.featured-card h3 a{text-decoration:none}
.featured-card h3 a:hover{text-decoration:underline}
.featured-card>p:not(.eyebrow){font-size:.9375rem;color:var(--muted);margin:0 0 24px}
.featured-meta{display:flex;justify-content:space-between;gap:16px;margin-top:auto;font-size:.8125rem;color:var(--muted)}
.contact-links{display:flex;gap:20px 36px;flex-wrap:wrap;padding:0;list-style:none}
.contact-links a{display:inline-block;padding-block:8px}
.footer{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:12px 24px;padding-block:32px;color:var(--muted);font-size:.8125rem}
.footer p{margin:0}
.footer a{white-space:nowrap}
.not-found{min-height:65vh;padding-block:80px}
.not-found h1{font-size:clamp(3rem,8vw,6rem)}

@media(max-width:900px){.wrap{width:calc(100% - 64px)}.hero{grid-template-columns:1.1fr 1fr;gap:28px;padding-block:32px}.hero-main{padding:12px 0}h1{font-size:clamp(2.8rem,5.4vw,4rem)}.hero-aside{padding:28px}.section-grid{grid-template-columns:1fr 2.3fr;gap:32px}.nav{gap:20px}}
@media(max-width:640px){.wrap{width:calc(100% - 40px)}.header{min-height:94px;align-items:center;flex-wrap:wrap;gap:8px;padding-block:20px}.brand{font-size:.875rem}.brand-mark{width:36px;height:36px}.nav{gap:18px;font-size:.875rem}.hero{grid-template-columns:1fr;gap:28px;padding:32px 0}.hero-main{padding:0}h1{font-size:clamp(2.75rem,11.8vw,4rem);margin:18px 0 20px}.hero-intro{font-size:1.0625rem;max-width:28rem}.hero-aside{padding:28px;min-height:310px}.field-display{font-size:2.6rem;max-width:20rem;margin:25px 0 30px}.aside-rule{margin-bottom:20px}.section{padding-block:44px}.section-grid{grid-template-columns:1fr;gap:18px}.section-label h2{margin:0}.bio-copy{font-size:1.25rem}.facts{gap:20px}.record{grid-template-columns:1fr;gap:6px}.footer{font-size:.8125rem;align-items:start}.preview-note{font-size:.8125rem;text-align:left}.headshot{max-height:480px;width:auto;max-width:100%}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
@media(max-width:900px){.featured-grid{gap:22px}.featured-card h3{font-size:1.2rem}.header{flex-wrap:wrap;padding-block:22px;gap:14px}.nav{gap:24px}.record-index{grid-template-columns:1fr 2.3fr;gap:32px}}
@media(max-width:640px){.featured-grid{grid-template-columns:1fr;gap:30px}.featured-card h3{font-size:1.35rem}.featured-heading{align-items:start;flex-direction:column;gap:8px}.featured-section{padding:36px 0 44px}.record-index{grid-template-columns:1fr;gap:24px;padding:36px 0}.record-index nav{gap:0 22px}.record-index h2{max-width:none}.record{grid-template-columns:1fr}.nav{gap:12px 22px;justify-content:flex-start}.header{align-items:start}.date-type{display:inline;margin-left:8px}.featured-meta{margin-top:0}}
@media print{.preview-note,.nav,.skip-link{display:none}.wrap{width:100%}.hero{min-height:auto}.hero-main{padding-block:30px}h1{font-size:54pt}.section{padding-block:25px}.hero-aside{background:white;color:var(--ink);border:1px solid var(--line)}.hero-aside .eyebrow,.aside-footer span{color:var(--muted)}}

/* Anna's pages build on the typography and palette of Bohdan's site. */
:root{--paper:#f8f9fb;--blue:#2453c7}
.header{min-height:100px}
.nav a[aria-current=page]{color:var(--blue);text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:8px}
.nav .nav-contact{border:1px solid var(--line);padding:10px 18px;display:flex;gap:30px;align-items:center}
.hero{max-width:none;padding:52px 0;gap:80px;grid-template-columns:1.2fr 1fr}
.hero h1{font-size:clamp(4rem,6.6vw,6.4rem);line-height:1.02;letter-spacing:-.065em;margin:24px 0}
.name-dot{color:var(--blue)}
.hero-intro{font-size:1.2rem;max-width:29rem}
.hero-actions{display:flex;gap:28px;align-items:center;flex-wrap:wrap;margin-top:10px}
.button{background:var(--blue);color:#fff;display:inline-flex;justify-content:space-between;align-items:center;gap:32px;text-decoration:none;font-size:.9375rem;font-weight:700;padding:14px 22px;border:1px solid transparent}
.button:hover{background:var(--navy);color:white}
.location{color:var(--muted);font-size:.875rem;margin:32px 0 0}
.location span{margin-right:6px}
.hero-aside{padding:0;margin:0;max-width:420px;justify-self:end}
.headshot{width:100%;height:auto;margin:0;aspect-ratio:4/5;object-fit:cover;object-position:center 38%;max-height:none}
.aside-footer{padding:17px 22px;border:0;font-size:.75rem}
.aside-footer strong{font-size:.8125rem}
.work-nav{display:flex;align-items:center;flex-wrap:wrap;gap:16px 28px;padding:24px 0;border-bottom:1px solid var(--line);font-size:.8125rem}
.work-nav .eyebrow{color:var(--muted);font-size:.7rem;margin-right:auto}
.work-nav a{text-decoration:none;display:inline-flex;gap:12px;align-items:center;padding:4px 0}
.work-nav a:hover{text-decoration:underline}
.section-intro{font-size:1.05rem;color:var(--muted);margin:0 0 32px;max-width:42rem}
.section-grid>div{min-width:0}
.service-overview{display:grid;grid-template-columns:repeat(3,1fr);gap:25px;margin:30px 0}
.service-overview h3{font-size:1rem;font-weight:500;margin:0 0 10px}
.service-overview p{font-size:.9375rem;line-height:1.6;margin:0;color:var(--muted)}
.service-overview>div{border-top:2px solid var(--blue);padding-top:18px}
.record{grid-template-columns:5.75rem minmax(0,1fr)}
.record-date{font-size:.8125rem}
.record-more[open]>.record-list{padding-top:30px}
.book-feature{display:grid;grid-template-columns:190px 1fr;gap:36px;align-items:center;margin-bottom:42px}
.book-feature h2{font-size:1.6rem;margin:16px 0;letter-spacing:-.035em}
.book-feature p:not(.eyebrow){color:var(--muted)}
.book-type{background:var(--navy);color:#f4f6fb;min-height:275px;padding:24px 20px;display:flex;flex-direction:column;border-left:7px solid #365582;box-shadow:8px 9px 0 #e1e5ed}
.book-type span{font-size:.5625rem;letter-spacing:.12em}
.book-type strong{font-size:1.95rem;line-height:1.1;font-weight:400;letter-spacing:-.04em;margin:27px 0 18px}
.book-type small{font-size:.625rem;color:#c2d0e6;max-width:120px;line-height:1.5;margin-bottom:22px}
.book-type>span:last-child{margin-top:auto}
.membership-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 32px}
.membership-grid article{border-top:1px solid var(--line);padding-top:16px}
.membership-grid h3{font-size:1.15rem;font-weight:500;line-height:1.4;margin:10px 0}
.membership-grid p{margin:6px 0;font-size:.875rem;color:var(--muted)}
.membership-grid a{font-size:.8125rem}
.contact-banner{padding:52px;background:var(--navy);color:white;margin-top:60px;display:flex;gap:32px;align-items:center;justify-content:space-between}
.contact-banner .eyebrow{color:#becdee;font-size:.75rem;margin-bottom:16px}
.contact-banner h2{margin:0;font-size:clamp(1.6rem,3vw,2.35rem)}
.button-light{background:#f5f7fb;color:var(--ink);flex-shrink:0}
.button-light:hover{background:#d7e2fc;color:var(--ink)}
.page-heading{padding:76px 0 60px;border-bottom:1px solid var(--line);max-width:100%}
.page-heading .eyebrow{color:var(--blue)}
.page-heading h1{font-size:clamp(2.8rem,5.8vw,5.1rem);max-width:900px;margin:24px 0}
.page-intro{font-size:1.2rem;line-height:1.65;color:var(--muted);max-width:640px;margin:0}
.service-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:34px 32px;margin-top:35px}
.service-card{border-top:1px solid var(--line);padding-top:20px}
.service-number{color:var(--blue);font-family:ui-monospace,monospace;font-size:.75rem}
.service-card h3{font-size:1.25rem;font-weight:500;line-height:1.4;margin:16px 0 12px}
.service-card p{color:var(--muted);font-size:.9375rem;margin:0}
.coming-soon{padding:70px 0 90px;max-width:660px;margin-inline:auto}
.coming-soon h2{font-size:2.25rem;margin:25px 0 18px}
.coming-soon>p{font-size:1.125rem;color:var(--muted);max-width:550px}
.status-pill{display:inline-flex;gap:9px;align-items:center;border:1px solid var(--line);border-radius:24px;padding:5px 12px;font-size:.75rem;color:var(--blue)}
.status-pill span{height:6px;width:6px;border-radius:50%;background:var(--blue)}
.coming-soon .quiet{font-size:.9375rem;margin-top:30px}
.inline-link{display:inline;font-size:inherit;font-weight:inherit}
.inline-link .arrow{display:none}
.contact-layout{display:grid;grid-template-columns:1.7fr 1fr;gap:70px;padding:65px 0 85px}
.contact-card .eyebrow,.profile-card .eyebrow{color:var(--blue);margin-bottom:25px}
.contact-card p:not(.eyebrow){color:var(--muted);max-width:480px}
.email-link{font-size:clamp(1rem,2.3vw,1.5rem);display:inline-block;margin-top:18px;overflow-wrap:anywhere}
.profile-card{border-left:1px solid var(--line);padding-left:40px}
.profile-card h2{font-size:1.6rem}
.profile-card .contact-links{flex-direction:column;gap:10px;margin:0}
.footer{margin-top:20px}
@media(min-width:1500px){.hero{padding-block:65px}.hero-aside{max-width:440px}}
@media(max-width:1050px){.hero{gap:40px}.work-nav{gap:14px 24px}.work-nav .eyebrow{width:100%}.contact-banner{padding:36px}.contact-layout{gap:36px}}
@media(max-width:760px){.service-overview{grid-template-columns:1fr;gap:22px}.service-overview p{max-width:32rem}.book-feature{grid-template-columns:150px 1fr;gap:24px}.book-type{min-height:245px;padding:18px 15px}.book-type strong{font-size:1.65rem}.contact-banner{align-items:flex-start;flex-direction:column}.contact-layout{grid-template-columns:1fr}.profile-card{border-left:0;border-top:1px solid var(--line);padding:30px 0 0}}
@media(max-width:640px){.header{min-height:112px;padding-block:20px;gap:18px}.nav{width:100%;justify-content:space-between;gap:8px}.nav .nav-contact{padding:7px 12px;gap:15px}.hero{grid-template-columns:1fr;gap:30px;padding-block:32px}.hero h1{font-size:4.2rem;margin-block:20px}.hero-intro{font-size:1.125rem}.hero-actions{gap:22px}.hero-actions .button{padding:12px 18px;gap:24px}.hero-aside{justify-self:center;max-width:400px;min-height:0}.headshot{width:100%;max-width:100%;height:auto;max-height:none}.location{margin-top:22px}.work-nav{gap:12px 22px;padding-block:20px}.work-nav .eyebrow{width:100%}.work-nav a{font-size:.8125rem}.record{grid-template-columns:1fr;gap:8px}.page-heading{padding:42px 0 36px}.page-heading h1{font-size:3rem}.page-intro{font-size:1.0625rem}.book-feature{grid-template-columns:1fr;gap:30px}.book-type{width:190px;min-height:275px;padding:24px 20px}.book-type strong{font-size:1.95rem}.service-grid{gap:28px;grid-template-columns:1fr}.membership-grid{gap:24px 20px}.membership-grid h3{font-size:1.05rem}.contact-banner{margin-top:36px;padding:30px 24px}.contact-banner h2{font-size:1.65rem}.contact-banner br{display:none}.contact-layout{padding-block:40px;gap:32px}.coming-soon{padding:42px 0 60px}.coming-soon h2{font-size:1.9rem}.coming-soon>p{font-size:1rem}.footer{gap:14px;padding-block:28px}.footer p:nth-child(2){display:none}}
@media(max-width:360px){.wrap{width:calc(100% - 32px)}.hero h1{font-size:3.7rem}.membership-grid{grid-template-columns:1fr}.hero-actions{align-items:flex-start;flex-direction:column;gap:14px}.nav{font-size:.8125rem}.nav .nav-contact{gap:8px}}
@media print{.hero-aside{max-width:250px}.button{border:1px solid currentColor;background:white;color:var(--ink)}.contact-banner{background:white;color:var(--ink)}.contact-banner .eyebrow{color:var(--ink)}.section{break-inside:avoid}.work-nav{display:none}}
