/* Catie Clark's CV. A dedicated editorial layout, scoped to this page. */
.cv-page { margin:0; }
.cv-page *, .cv-page *::before,.cv-page *::after { box-sizing:border-box; }
.cv-page .container { width:100%; margin-inline:auto; }
.cv-page a { text-decoration:none; }
.cv-page > header { margin-bottom:0; border-bottom:1px solid var(--lyra-border); }
.cv-page > header nav { display:flex; justify-content:space-between; align-items:center; padding-block:12px; }
.cv-page .nav-links { align-items:center; }
.cv-page .hero.cv-introduction { min-height:0; padding:76px 0 52px; background:none; }
.cv-page .cv-introduction > .container { display:grid; grid-template-columns:1.15fr 1fr; column-gap:80px; align-items:start; }
.cv-page .cv-introduction .hero-eyebrow { grid-column:1; margin:0 0 20px; }
.cv-page .cv-introduction h1 { grid-column:1; grid-row:2/5; font-size:clamp(3.5rem,6.2vw,5.7rem); max-width:none; line-height:1.08; margin:0; }
.cv-page .cv-introduction h1 em { font-size:.66em; }
.cv-page .cv-introduction .hero-roles { grid-column:2; grid-row:1/3; margin:0 0 20px; font-size:1.2rem; line-height:1.8; color:var(--lyra-text); }
.cv-page .cv-introduction .hero-location { grid-column:2; margin:0; color:var(--text-muted); line-height:1.9; }
.cv-page .hero-location a { text-decoration:underline; text-underline-offset:4px; }
.cv-page .cv-introduction .hero-buttons { grid-column:2; display:flex; flex-wrap:wrap; gap:10px; margin-top:26px; }
.cv-page .hero-buttons .l-button { padding:10px 14px; font-size:.82rem; }
.cv-page .cv-index { display:flex; flex-wrap:wrap; justify-content:flex-start; min-height:0; gap:10px 28px; padding-block:20px; border-block:1px solid var(--lyra-border); }
.cv-page .cv-index a { color:var(--text-muted); font-size:.85rem; padding-block:6px; }
.cv-page .cv-index a:hover { color:var(--lyra-accent); }
.cv-page main > section:not(.hero) { padding:56px 0; border:0; }
.cv-page main > section:not(.hero) > .container { display:grid; grid-template-columns:240px minmax(0,1fr); gap:36px 56px; align-items:start; }
.cv-page .section-header { margin:0; max-width:none; }
.cv-page .section-tag { margin-bottom:12px; font-size:.65rem; letter-spacing:.14em; }
.cv-page .section-header h2 { font-size:2rem; line-height:1.18; margin:0 0 18px; }
.cv-page .section-header .section-subtitle { font-size:.9rem; line-height:1.75; margin:0; }
.cv-page #positioning .positioning-card { border:0; background:none; padding:0; box-shadow:none; }
.cv-page .positioning-card p { font-size:1rem; line-height:1.85; margin:0 0 20px; }
.cv-page .positioning-card p:first-child { font-size:1.2rem; color:var(--lyra-text); line-height:1.75; }
.cv-page .positioning-card .pullquote { font-family:var(--lyra-font-editorial); font-size:1.5rem; line-height:1.6; font-weight:400; padding:12px 0 12px 24px; margin:26px 0; }
.cv-page :is(.cap-grid,.cred-grid,.medium-grid) { display:grid; grid-template-columns:1fr 1fr; gap:0 32px; }
.cv-page :is(.cap-card,.cred-card,.medium-card) { padding:24px 0; border:0; border-top:1px solid var(--lyra-border); border-radius:0; background:none; box-shadow:none; }
.cv-page :is(.cap-card,.cred-card,.medium-card):hover { background:none; }
.cv-page :is(.cap-card,.cred-card,.medium-card) h3 { font-size:1.25rem; line-height:1.35; font-weight:500; margin:0 0 14px; }
.cv-page :is(.cap-card,.cred-card,.medium-card) p,.cv-page li { font-size:.95rem; line-height:1.8; color:var(--text-muted); }
.cv-page ul { padding-left:18px; margin:0; }
.cv-page li { margin-bottom:9px; }
.cv-page li::marker { color:var(--lyra-accent); }
.cv-page strong { color:var(--lyra-text); font-weight:600; }
.cv-page .work-list { display:grid; gap:38px; }
.cv-page .work-entry { padding:0 0 0 26px; border:0; border-left:2px solid var(--lyra-border); border-radius:0; background:none; box-shadow:none; }
.cv-page .work-header { display:flex; justify-content:space-between; gap:24px; align-items:flex-start; }
.cv-page .work-title { font-size:1.15rem; font-weight:500; line-height:1.5; }
.cv-page .work-dates { white-space:nowrap; font-size:.78rem; padding-top:4px; }
.cv-page .work-org { font-size:.95rem; margin:8px 0 18px; }
.cv-page .work-desc { font-size:1rem; line-height:1.8; color:var(--text-muted); }
.cv-page .work-link { display:inline-block; color:var(--lyra-accent); font-size:.85rem; text-decoration:underline; padding-block:12px; }
.cv-page .thesis-list { display:grid; grid-template-columns:1fr 1fr; gap:0 30px; }
.cv-page .thesis-item { padding:22px 0; border:0; border-top:1px solid var(--lyra-border); border-radius:0; background:none; box-shadow:none; }
.cv-page .thesis-item:last-child { grid-column:1/-1; }
.cv-page .thesis-item p { font-size:1rem; line-height:1.8; color:var(--text-muted); margin:0; }
.cv-page .medium-tag { align-self:flex-start; font-size:.67rem; letter-spacing:.08em; text-transform:uppercase; background:none; padding:0; margin-bottom:12px; }
.cv-page .medium-card .medium-read-link { font-size:.8rem; }
.cv-page .medium-card[style] { align-items:flex-start !important; text-align:left !important; background:none !important; border-color:var(--lyra-border) !important; }
.cv-page .medium-card[style] > span:first-child { display:none !important; }
.cv-page #engagements { background:#141417; margin-block:20px; }
.cv-page .engage-wrap { border:0; padding:0; background:none; }
.cv-page .engage-grid { display:grid; grid-template-columns:1fr 1fr; gap:0 24px; }
.cv-page .engage-grid .tag { display:block; padding:10px 0; border:0; border-bottom:1px solid var(--lyra-border); border-radius:0; color:var(--lyra-text); background:none; font-size:.9rem; }
.cv-page .engage-note { margin:26px 0 0; color:var(--text-muted); font-size:.95rem; }
.cv-page .engage-note a { color:var(--lyra-accent); text-decoration:underline; }
.cv-page .bio-container { background:none; border:0; border-radius:0; }
.cv-page .bio-photo-bg,.cv-page .bio-photo-overlay { display:none; }
.cv-page .bio-inner { padding:0; }
.cv-page .two-minds-header { margin:0 0 28px; }
.cv-page .two-minds-title { font-size:2.2rem; }
.cv-page .two-minds-sub { font-size:.85rem; color:var(--text-muted); }
.cv-page .bio-grid { display:grid; grid-template-columns:1fr 1fr; gap:28px; }
.cv-page .bio-col { padding:24px 0; background:none; border:0; border-top:1px solid var(--lyra-border); border-radius:0; }
.cv-page .bio-card-label { font-size:.65rem; letter-spacing:.1em; text-transform:uppercase; margin-bottom:12px; }
.cv-page .bio-name { font-size:1.7rem; margin-bottom:10px; }
.cv-page .bio-role { font-size:.8rem; line-height:1.7; }
.cv-page .bio-details { padding:0; list-style:none; margin-top:20px; }
.cv-page .bio-details li { display:grid; grid-template-columns:80px 1fr; gap:12px; font-size:.85rem; line-height:1.65; margin-bottom:14px; }
.cv-page .bio-detail-label { font-size:.7rem; color:var(--text-muted); }
.cv-page .ai-badge { position:static; display:inline; vertical-align:super; font-size:.45em; font-family:var(--lyra-font); }
.cv-page #download > .container { display:block; }
.cv-page .download-card { display:grid; grid-template-columns:1fr auto; align-items:center; column-gap:40px; padding:30px; border:1px solid var(--lyra-border); background:#08080a; text-align:left; }
.cv-page .download-card h3 { font-size:1.6rem; margin:0 0 8px; }
.cv-page .download-card p { grid-column:1; margin:0; font-size:.95rem; }
.cv-page .download-card a { grid-column:2; grid-row:1/3; }
.cv-page > footer { padding:28px 0; }
.cv-page .back-to-top { position:fixed; bottom:20px; right:20px; z-index:100; width:42px; height:42px; border:1px solid var(--lyra-border); border-radius:9px; opacity:0; pointer-events:none; }
.cv-page .back-to-top.visible { opacity:1; pointer-events:auto; }
@media(max-width:1050px) {
 .cv-page .cv-introduction > .container { column-gap:36px; }
 .cv-page main > section:not(.hero) > .container { grid-template-columns:190px minmax(0,1fr); gap:30px; }
 .cv-page .work-header { flex-direction:column; gap:6px; }
 .cv-page .bio-grid { grid-template-columns:1fr; }
}
@media(max-width:800px) {
 .cv-page > header { margin-bottom:0; }
 .cv-page .hero.cv-introduction { padding:44px 0 32px; }
 .cv-page .cv-introduction > .container { display:block; }
 .cv-page .cv-introduction h1 { font-size:clamp(3.5rem,11vw,5rem); margin-bottom:28px; }
 .cv-page .cv-introduction .hero-roles { font-size:1.05rem; }
 .cv-page .cv-introduction .hero-buttons { flex-direction:row; }
 .cv-page .cv-introduction .hero-buttons a { width:auto; }
 .cv-page .cv-index { padding-block:16px; gap:6px 20px; }
 .cv-page main > section:not(.hero) { padding:38px 0; }
 .cv-page main > section:not(.hero) > .container { grid-template-columns:1fr; gap:24px; }
 .cv-page .section-header h2 { font-size:2rem; margin-bottom:12px; }
 .cv-page .section-tag { margin-bottom:8px; }
 .cv-page .download-card { display:block; }
 .cv-page .download-card a { margin-top:20px; }
}
@media(max-width:540px) {
 .cv-page :is(.cap-grid,.cred-grid,.medium-grid,.thesis-list,.engage-grid) { grid-template-columns:1fr; }
 .cv-page .work-entry { padding-left:18px; }
 .cv-page .bio-details li { grid-template-columns:70px 1fr; gap:10px; }
 .cv-page .download-card { padding:24px; }
}
@media print {
 .cv-page { --lyra-text:#111; --text-muted:#333; --lyra-accent:#722243; background:white; color:#111; }
 .cv-page > header,.cv-page .cv-index,.cv-page .hero-buttons,.cv-page .back-to-top,.cv-page #download { display:none; }
 .cv-page main > section { break-inside:auto; }
 .cv-page .work-entry,.cv-page .cap-card { break-inside:avoid; }
 .cv-page .hero.cv-introduction { padding:0 0 24px; }
}
