:root {
  --bg:#110e0f; --surface:#261c20; --ink:#fbf5ed; --muted:#cebbb1;
  --line:#50343e; --accent:#dcc18d; --gold:#dcc18d; --burgundy:#743047; --paper:#fbf5ed; --dark:#110e0f;
  --max:1220px; color-scheme:dark; font-family:Arial,Helvetica,sans-serif; font-synthesis:none;
}
* { box-sizing:border-box; }
html { scroll-behavior:smooth; scroll-padding-top:95px; }
body { margin:0; background:var(--bg); color:var(--ink); font-size:16px; line-height:1.6; }
a { color:inherit; text-decoration:none; }
button { font:inherit; color:inherit; cursor:pointer; border-radius:0; }
a,button { -webkit-tap-highlight-color:transparent; }
a:focus-visible,button:focus-visible,summary:focus-visible,[tabindex]:focus-visible { outline:2px solid var(--accent); outline-offset:5px; }
p,h1,h2,h3,h4,figure { margin:0; }
h1,h2,h3,h4 { font-weight:500; }
h2 { font-size:clamp(2rem,3.5vw,3.1rem); line-height:1.12; letter-spacing:-.045em; }
h3 { font-size:1.2rem; line-height:1.4; }
strong { font-weight:600; }
img { display:block; max-width:100%; }
summary { cursor:pointer; border-radius:8px; font-size:.875rem; color:var(--muted); }
summary:hover { color:var(--ink); }
.wrap { width:min(var(--max),calc(100% - 100px)); margin-inline:auto; }
.section { padding-block:86px; }
.eyebrow { font-size:.75rem; letter-spacing:.13em; font-weight:500; color:#dcc18d; line-height:1.6; }
.muted { color:var(--muted); font-size:.8125rem; }
.skip { position:fixed; top:-100px; left:16px; z-index:20; padding:12px 20px; background:var(--ink); color:var(--bg); }
.skip:focus { top:16px; }
.site-header { position:sticky; top:0; z-index:10; display:flex; align-items:center; justify-content:space-between; gap:25px; padding:23px 50px; border-bottom:1px solid var(--line); background:rgba(17,14,15,.98); }
.brand { display:flex; align-items:center; gap:16px; font-size:1.5rem; font-weight:700; letter-spacing:-.04em; white-space:nowrap; }
.brand-line { height:25px; width:1px; background:var(--accent); }
.brand-name { font-size:.75rem; letter-spacing:.12em; font-weight:500; }
nav { display:flex; align-items:center; gap:23px; }
nav a { font-size:.875rem; color:var(--muted); }
nav a:hover { color:var(--ink); }
.language-control { display:flex; align-items:center; gap:5px; font-size:.875rem; }
.language-control button { border:0; background:none; padding:6px; color:var(--muted); }
.language-control button[aria-pressed=true] { color:var(--accent); border-bottom:1px solid var(--accent); }
.language-control span { color:#85736c; }
.menu-button { display:none; }
.hero { display:grid; grid-template-columns:1.15fr 1fr; gap:6%; align-items:center; padding-top:45px; padding-bottom:30px; }
.hero-copy { padding-block:25px; }
.hero h1 { font-size:clamp(3.4rem,6.6vw,6rem); line-height:1.04; letter-spacing:-.065em; margin-top:24px; }
.hero h1 span,.hero h1 em { display:block; }
.hero h1 em { font-family:Georgia,'Times New Roman',serif; font-weight:400; letter-spacing:-.05em; color:var(--accent); }
.hero-description { max-width:460px; font-size:1.08rem; color:var(--muted); line-height:1.65; margin-top:28px; }
.hero-actions { display:flex; align-items:center; gap:27px; margin-top:32px; }
.button { display:inline-flex; align-items:center; justify-content:center; min-height:46px; padding:12px 21px; border:1px solid var(--line); font-size:.875rem; line-height:1.4; }
.button:hover { border-color:var(--ink); }
.primary { background:var(--burgundy); color:var(--ink); border-color:#a66177; }
.primary:hover { background:#8d3c55; border-color:#c58296; }
.text-link { font-size:.875rem; color:var(--accent); text-decoration:underline; text-underline-offset:5px; text-decoration-thickness:1px; }
.text-link:hover { color:#fff; text-decoration-thickness:2px; }
.hero-language { font-size:.875rem; color:var(--muted); margin-top:25px; }
.hero-portrait { width:100%; max-width:420px; justify-self:center; align-self:center; }
.hero-portrait img {
  width:100%; height:auto; object-fit:contain; object-position:center;
  -webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 11%,#000 89%,transparent 100%),linear-gradient(180deg,transparent 0%,#000 1.5%,#000 83%,transparent 100%);
  mask-image:linear-gradient(90deg,transparent 0%,#000 11%,#000 89%,transparent 100%),linear-gradient(180deg,transparent 0%,#000 1.5%,#000 83%,transparent 100%);
  -webkit-mask-composite:source-in; mask-composite:intersect;
}
.proof { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); border-block:1px solid var(--line); padding-block:24px; gap:30px; }
.proof-stat { display:flex; flex-direction:column; padding-left:25px; border-left:1px solid var(--line); }
.proof-stat:first-child { padding-left:0; border-left:0; }
.proof-stat strong { font-size:2.2rem; line-height:1.25; letter-spacing:-.045em; font-weight:400; color:var(--gold); }
.proof-stat span { font-size:.8125rem; color:var(--muted); margin-top:5px; max-width:210px; }
.section-heading { display:flex; justify-content:space-between; align-items:flex-end; gap:8%; margin-bottom:36px; }
.section-heading h2 { margin-top:12px; font-size:clamp(2.2rem,3.8vw,3.4rem); }
.section-heading>p { width:36%; max-width:390px; color:var(--muted); font-size:1rem; line-height:1.65; }
.project-grid { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:30px 24px; }
.project-card { grid-column:span 2; border-radius:12px; }
.project-card:nth-child(-n+2) { grid-column:span 3; }
.project-card-button { width:100%; border:0; border-radius:12px; background:none; padding:0; text-align:left; }
.project-art { aspect-ratio:16/10; padding:25px; border:1px solid var(--line); border-radius:12px; background:var(--surface); position:relative; display:flex; flex-direction:column; justify-content:center; align-items:center; gap:15px; overflow:hidden; }
.project-card:nth-child(-n+2) .project-art { aspect-ratio:16/9; }
.project-art.project-still { padding:0; }
.project-still img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center; }
.project-card-button:hover .project-art { border-color:#a58974; }
.project-number { position:absolute; top:13px; left:19px; font-size:.8125rem; font-family:monospace; color:#b59f92; }
.project-format { font-size:.75rem; letter-spacing:.12em; text-transform:uppercase; color:var(--muted); text-align:center; }
.project-art-title { font-family:Georgia,serif; font-size:clamp(1.6rem,2.5vw,2.8rem); line-height:1.2; text-align:center; color:#ece2d9; }
.project-card:first-child .project-art-title { font-family:Arial,sans-serif; font-weight:600; letter-spacing:.23em; padding-left:.23em; font-size:clamp(2rem,3vw,3.2rem); }
.project-art-foot { position:absolute; left:19px; right:19px; bottom:16px; display:flex; justify-content:space-between; gap:10px; font-size:.75rem; line-height:1.4; color:#b5a498; }
.project-info { padding-top:17px; }
.project-title-row { display:flex; justify-content:space-between; align-items:baseline; gap:15px; }
.project-title-row h3 { font-size:1.2rem; }
.project-title-row span { font-size:.8125rem; color:var(--muted); }
.project-credit { font-size:.9375rem; color:var(--muted); margin-top:5px; line-height:1.5; }
.project-skill { font-size:.875rem; color:#d7c5bb; margin-top:10px; }
.project-status { display:inline-block; font-size:.8125rem; border:1px solid #745b62; padding:2px 8px; margin-top:12px; color:#d0bfb5; }
.project-card-link { display:block; margin-top:12px; font-size:.875rem; text-decoration:underline; text-underline-offset:4px; }
.skills-section { border-block:1px solid var(--line); background:linear-gradient(135deg,#301c24,#1f171b); }
.role-tabs { display:flex; border-bottom:1px solid var(--line); margin-bottom:8px; }
.role-tabs button { flex:1; padding:14px 12px; background:none; color:var(--muted); font-size:.9375rem; line-height:1.5; border:0; border-bottom:2px solid transparent; margin-bottom:-1px; }
.role-tabs button[aria-selected=true] { color:var(--accent); border-color:var(--accent); background:rgba(220,193,141,.07); }
.role-tabs button:hover { color:var(--ink); }
.skill-row { display:grid; grid-template-columns:1fr 2fr; gap:50px; padding:22px 0; border-bottom:1px solid var(--line); align-items:start; }
.skill-row h3 { font-size:1.0625rem; font-weight:500; }
.skill-row p { font-size:1rem; color:var(--muted); line-height:1.6; }
.skill-row a { display:inline-block; margin-top:7px; font-size:.875rem; color:var(--accent); text-decoration:underline; text-underline-offset:4px; }
.role-options { margin-top:21px; }
.role-options p { color:var(--muted); font-size:.9375rem; padding-top:10px; }
.writing-columns { display:grid; grid-template-columns:1fr 1fr; gap:70px; }
.writing-heading { display:flex; align-items:baseline; justify-content:space-between; gap:20px; border-bottom:1px solid var(--line); padding-bottom:17px; }
.writing-heading h3 { font-size:1.0625rem; }
.script-row { display:grid; grid-template-columns:1fr auto; gap:20px; border-bottom:1px solid var(--line); padding:20px 0; align-items:start; }
.script-body h4 { font-size:1.0625rem; line-height:1.45; }
.script-meta { font-size:.8125rem; color:var(--muted); margin-top:5px; }
.script-read { white-space:nowrap; font-size:.875rem; color:var(--accent); text-decoration:underline; text-underline-offset:4px; padding-top:2px; }
.script-synopsis { margin-top:8px; }
.script-synopsis summary,.article-details summary { font-size:.8125rem; }
.script-synopsis p,.article-details p { color:var(--muted); font-size:.9375rem; line-height:1.6; margin-top:10px; }
.script-synopsis .script-tags { font-size:.8125rem; color:#d1beb3; }
.article-row { padding:20px 0; border-bottom:1px solid var(--line); }
.article-row h4 { font-size:1.0625rem; line-height:1.45; }
.article-row h4 a { text-decoration:underline; text-decoration-color:var(--accent); text-underline-offset:4px; }
.article-row h4 a:hover { text-decoration-color:var(--ink); }
.article-kind { font-size:.8125rem; color:var(--muted); line-height:1.55; margin-top:5px; }
.article-details { margin-top:8px; }
.blog-link { display:inline-block; margin-top:23px; }
.experience-section { background:#24181d; border-block:1px solid var(--line); }
.experience-layout { display:grid; grid-template-columns:1.5fr 1fr; gap:9%; align-items:start; }
.timeline-item { padding:24px 0; border-bottom:1px solid var(--line); }
.timeline-item:first-child { padding-top:0; }
.timeline-meta { color:var(--gold); font-size:.75rem; letter-spacing:.04em; }
.timeline-item h3 { font-size:1.2rem; margin-top:9px; }
.timeline-role { color:#dac9bd; font-size:.9375rem; margin-top:3px; }
.timeline-body { color:var(--muted); font-size:1rem; line-height:1.6; margin-top:12px; }
.extra-experience { margin-top:22px; }
.extra-experience[open]>summary { margin-bottom:20px; }
.education-block { padding-left:32px; border-left:1px solid var(--line); }
.education-block h3 { font-size:1.0625rem; margin-bottom:23px; }
.education-block p { font-size:.9375rem; color:var(--muted); line-height:1.6; }
.education-block p+p { margin-top:23px; }
.education-block p strong { display:block; color:var(--ink); font-weight:500; margin-bottom:5px; }
.education-block p span { display:block; }
.training-details { margin-top:25px; }
.training-details p { padding-top:12px; font-size:.875rem; }
.resume-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:25px; }
.resume-card { padding:30px; border:1px solid var(--line); border-radius:12px; background:var(--surface); }
.resume-card h3 { font-size:1.4rem; margin-top:15px; }
.resume-card p { color:var(--muted); font-size:1rem; margin-top:15px; min-height:65px; }
.resume-downloads { display:flex; gap:12px; flex-wrap:wrap; margin-top:26px; }
.resume-downloads .button { padding:10px 15px; min-height:44px; font-size:.875rem; }
.resume-format { font-size:.8125rem; color:var(--muted); margin-top:16px; }
.contact-section { background:linear-gradient(110deg,#3a1d27,#211710); border-top:1px solid var(--line); padding-block:70px; }
.contact-layout { display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:70px; }
.contact-section h2 { margin-top:16px; font-size:clamp(2.3rem,4.6vw,4.15rem); }
.contact-section p:not(.eyebrow) { margin-top:20px; color:var(--muted); }
.contact-links { display:flex; flex-direction:column; gap:20px; align-items:flex-start; }
.email-link { font-size:clamp(1.2rem,2.5vw,2rem); letter-spacing:-.03em; border-bottom:1px solid #9a7c6f; line-height:1.6; overflow-wrap:anywhere; }
.contact-links p { font-size:.9375rem; }
footer { display:flex; align-items:center; justify-content:space-between; padding-block:28px; border-top:1px solid var(--line); font-size:.8125rem; color:var(--muted); }
footer a:hover { color:var(--ink); }
dialog { padding:45px; width:min(920px,calc(100% - 40px)); max-height:90vh; border:1px solid var(--line); background:var(--bg); color:var(--ink); overflow-y:auto; }
dialog::backdrop { background:rgba(0,0,0,.83); }
.dialog-close { display:block; margin-left:auto; margin-bottom:25px; padding:9px 15px; background:none; border:1px solid var(--line); font-size:.875rem; }
.dialog-close:hover { border-color:var(--ink); }
dialog h2 { margin-top:17px; font-size:clamp(2rem,5vw,3.6rem); }
.dialog-credit { color:var(--muted); font-size:1rem; margin-top:15px; }
.dialog-summary { color:#ddcec2; font-size:1.05rem; margin-top:30px; line-height:1.75; }
.dialog-metrics { display:flex; gap:30px; margin-top:30px; padding-block:23px; border-block:1px solid var(--line); flex-wrap:wrap; }
.dialog-metric strong { display:block; font-size:1.9rem; font-weight:400; }
.dialog-metric span { color:var(--muted); font-size:.875rem; }
.dialog-columns { display:grid; grid-template-columns:1.25fr 1fr; gap:40px; margin-top:35px; }
.dialog-columns h3 { font-size:1.12rem; margin-bottom:15px; }
.dialog-columns ul { padding-left:18px; color:var(--muted); font-size:1rem; line-height:1.7; }
.dialog-columns li { margin-block:9px; }
.dialog-columns .tag { font-size:.875rem; border:1px solid var(--line); padding:5px 10px; display:inline-block; margin:0 6px 9px 0; color:#e2d3c9; }
.media-note { margin-top:35px; padding:20px; border:1px dashed #79646b; font-size:.875rem; color:var(--muted); line-height:1.7; }
.dialog-collab { color:var(--muted); font-size:.9375rem; margin-top:25px; }
.dialog-collab a { text-decoration:underline; text-underline-offset:4px; }
.noscript { padding:30px; }
.hero-actions { flex-wrap:wrap; gap:20px; }
.project-card:nth-child(1) .project-art { background:linear-gradient(135deg,#492130,#28191e); }
.project-card:nth-child(3) .project-art { background:linear-gradient(135deg,#3b2220,#241819); }
.project-card:nth-child(4) .project-art { background:linear-gradient(135deg,#3a1e29,#21171b); }
.project-card:nth-child(5) .project-art { background:linear-gradient(135deg,#3c2923,#261b19); }
.project-format { color:#ddd0c6; }
.project-art-foot { color:#cdbbb0; }
.project-number { color:var(--gold); }
.project-skill { color:#decaa5; }
.project-status.post-status { border-color:#7c5d40; color:var(--gold); }
.project-status.complete-status { border-color:#877044; color:var(--accent); }
.video-frame { position:relative; width:100%; aspect-ratio:16/9; background:#0c080a; overflow:hidden; border:1px solid var(--line); border-radius:12px; }
.video-frame iframe { position:absolute; inset:0; width:100%; height:100%; border:0; border-radius:inherit; }
.reel-feature { display:grid; grid-template-columns:1fr 2.2fr; align-items:center; gap:35px; padding:30px; margin-bottom:38px; background:linear-gradient(120deg,#43212e,#26191f); border:1px solid #70454f; border-radius:12px; scroll-margin-top:95px; }
.reel-copy h3 { font-size:clamp(2rem,3.3vw,2.75rem); line-height:1.2; margin-top:13px; }
.reel-copy .text-link { display:inline-block; margin-top:22px; }
.media-direct-link { display:inline-block; margin-top:11px; }
.dialog-media-link { margin-top:30px; }
.main-resume { display:flex; justify-content:space-between; align-items:center; gap:35px; padding:34px; border:1px solid #704b4e; border-left:3px solid var(--accent); border-radius:12px; background:linear-gradient(120deg,#43212e,#2a1a20); }
.main-resume .button,.resume-card .button { border-radius:7px; }
.dialog-still { margin-top:30px; }
.dialog-still img { width:100%; height:auto; border:1px solid var(--line); border-radius:12px; }
.dialog-still figcaption { margin-top:10px; color:var(--gold); font-size:.9375rem; }
.main-resume h3 { font-size:1.65rem; margin-top:11px; }
.main-resume p:not(.eyebrow) { color:var(--muted); font-size:1rem; margin-top:10px; }
.main-resume .muted { display:inline-block; margin-top:11px; }
.main-resume-actions { display:flex; align-items:center; gap:22px; flex-wrap:wrap; }
.alternate-resumes { margin-top:25px; }
.alternate-resumes .resume-grid { margin-top:24px; }
@media(max-width:1150px) {
  .site-header { padding:21px 30px; gap:15px; }
  .brand-name { display:none; }
  nav { gap:18px; }
  .wrap { width:calc(100% - 60px); }
  .hero { gap:5%; }
  .hero h1 { font-size:clamp(3.2rem,6.8vw,5.8rem); }
  .hero-portrait { max-width:380px; }
  .section { padding-block:75px; }
  .writing-columns { gap:45px; }
  .experience-layout { gap:6%; }
  .skill-row { gap:35px; }
  .proof { gap:20px; }
  .proof-stat { padding-left:20px; }
}
@media(max-width:800px) {
  .site-header { padding:18px 25px; flex-wrap:wrap; }
  .brand-name { display:inline; }
  .brand { gap:12px; }
  .menu-button { display:block; margin-left:auto; padding:6px 11px; background:none; border:1px solid var(--line); font-size:.875rem; }
  nav { display:none; flex-basis:100%; order:4; flex-wrap:wrap; padding-top:10px; }
  nav.open { display:flex; }
  .language-control { gap:2px; }
  .language-control button { padding:5px; }
  .wrap { width:calc(100% - 50px); }
  .hero { gap:20px; grid-template-columns:1.1fr 1fr; padding-top:28px; }
  .hero h1 { font-size:3.3rem; }
  .hero-description { font-size:1rem; }
  .hero-actions { flex-wrap:wrap; gap:20px; }
  .proof { gap:15px; }
  .proof-stat { padding-left:15px; }
  .proof-stat strong { font-size:1.9rem; }
  .section-heading { gap:35px; }
  .section-heading>p { width:40%; }
  .project-grid { gap:30px 20px; }
  .project-card,.project-card:nth-child(-n+2) { grid-column:span 3; }
  .project-card:last-child { grid-column:span 6; max-width:calc(50% - 10px); }
  .project-art-title { font-size:1.9rem; }
  .role-tabs { flex-wrap:wrap; }
  .role-tabs button { flex:1 1 50%; padding:13px 10px; }
  .skill-row { grid-template-columns:1fr 1.7fr; gap:25px; }
  .reel-feature { grid-template-columns:1fr 2fr; padding:24px; gap:25px; }
  .main-resume { padding:28px; }
  .main-resume-actions { flex-direction:column; align-items:flex-start; gap:16px; }
  .writing-columns { gap:30px; }
  .script-row { gap:12px; }
  .script-read { font-size:.8125rem; }
  .experience-layout { grid-template-columns:1.4fr 1fr; gap:30px; }
  .education-block { padding-left:22px; }
  .resume-card { padding:25px; }
  .resume-card p { min-height:95px; }
  .contact-layout { gap:35px; }
  .email-link { font-size:1.3rem; }
  dialog { padding:30px; }
}
@media(max-width:580px) {
  html { scroll-padding-top:88px; }
  .site-header { padding:15px 20px; gap:9px; }
  .brand { font-size:1.35rem; }
  .brand-line { height:22px; }
  .brand-name { font-size:.75rem; letter-spacing:.07em; }
  .wrap { width:calc(100% - 40px); }
  .hero { grid-template-columns:1fr; gap:10px; padding-top:22px; padding-bottom:20px; }
  .hero-copy { padding-block:10px; }
  .hero h1 { font-size:clamp(3.2rem,11.8vw,4.6rem); margin-top:20px; }
  .hero-description { font-size:1.05rem; max-width:none; margin-top:24px; }
  .hero-actions { margin-top:27px; gap:25px; }
  .hero-language { margin-top:22px; }
  .hero-portrait { width:86%; max-width:320px; justify-self:center; }
  .proof { grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px 20px; }
  .proof-stat:nth-child(3) { border-left:0; padding-left:0; }
  .proof-stat strong { font-size:2rem; }
  .proof-stat span { font-size:.8125rem; }
  .section { padding-block:60px; }
  .section-heading { display:block; margin-bottom:30px; }
  .section-heading h2 { font-size:2.65rem; }
  .section-heading>p { width:auto; max-width:none; margin-top:17px; }
  .project-grid { grid-template-columns:1fr; gap:30px; }
  .project-card,.project-card:nth-child(-n+2),.project-card:last-child { grid-column:1; max-width:none; }
  .project-art,.project-card:nth-child(-n+2) .project-art { aspect-ratio:16/9; }
  .project-art-title { font-size:2.3rem; }
  .project-art-foot { font-size:.75rem; }
  .project-title-row h3 { font-size:1.25rem; }
  .role-tabs button { font-size:.875rem; min-height:62px; }
  .skill-row { grid-template-columns:1fr; gap:9px; padding-block:20px; }
  .skill-row h3 { font-size:1.05rem; }
  .writing-columns { grid-template-columns:1fr; gap:40px; }
  .reel-feature { grid-template-columns:1fr; padding:22px; gap:22px; margin-bottom:30px; }
  .reel-copy h3 { font-size:2rem; }
  .reel-copy .text-link { margin-top:12px; }
  .main-resume { display:block; padding:25px; }
  .main-resume-actions { margin-top:25px; flex-direction:row; align-items:center; gap:24px; }
  .script-row { gap:18px; }
  .script-read { font-size:.875rem; }
  .experience-layout { grid-template-columns:1fr; gap:35px; }
  .education-block { padding-left:0; padding-top:25px; border-left:0; border-top:1px solid var(--line); }
  .resume-grid { grid-template-columns:1fr; gap:20px; }
  .resume-card p { min-height:0; }
  .contact-section { padding-block:60px; }
  .contact-layout { grid-template-columns:1fr; gap:35px; }
  .contact-section h2 { font-size:3.05rem; }
  .email-link { font-size:1.4rem; max-width:100%; }
  .contact-links { gap:15px; }
  .dialog-columns { grid-template-columns:1fr; gap:25px; }
  dialog { padding:25px 22px; width:calc(100% - 24px); max-height:92vh; }
  .dialog-metrics { gap:20px; }
  .dialog-summary { font-size:1rem; }
  .dialog-close { margin-bottom:15px; }
}
@media(max-width:360px) {
  .brand-name { display:none; }
  .hero h1 { font-size:3rem; }
}
@media(prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  * { transition:none!important; }
}

/* Clear grouping and visible actions, adapted from the resource guide. */
.overview { padding-top:12px; }
.overview h2 { font-size:1.4rem; font-weight:600; letter-spacing:0; margin-bottom:20px; color:var(--ink); }
.section-heading h2,.overview h2,.contact-section h2 { font-family:Georgia,'Times New Roman',serif; font-style:italic; font-weight:400; letter-spacing:-.05em; color:#fff; }
.experience-section .section-heading { align-items:center; }
.reel-copy h3 { font-family:Georgia,serif; font-style:normal; font-weight:400; letter-spacing:normal; color:#fff; }
.overview .proof { border:0; padding:0; gap:16px; grid-template-columns:repeat(4,minmax(0,1fr)); }
.proof .proof-stat { display:flex; flex-direction:column; align-items:center; text-align:center; gap:0; padding:22px; border:1px solid var(--line); border-left:3px solid var(--gold); border-radius:12px; background:var(--surface); min-height:215px; transition:border-color .15s; }
.proof .proof-stat:nth-child(even) { background:rgba(116,48,71,.18); }
.proof .proof-stat:hover { border-color:var(--gold); }
.proof .proof-stat strong { font-size:clamp(2.45rem,4.5vw,3.1rem); font-weight:600; line-height:1.15; letter-spacing:-.035em; }
.proof .proof-stat .overview-label { font-size:1rem; line-height:1.45; font-weight:600; color:var(--ink); margin-top:12px; max-width:none; }
.proof .proof-stat .overview-note { font-size:.875rem; line-height:1.55; color:var(--muted); margin-top:6px; max-width:none; }
.proof .proof-stat .overview-action { font-size:.875rem; color:var(--gold); margin-top:auto; padding-top:18px; text-decoration:underline; text-underline-offset:4px; }
.role-tabs { gap:10px; border:0; margin-bottom:22px; }
.role-tabs button { flex:1 1 0%; min-width:0; min-height:56px; margin:0; padding:13px 16px; border:1px solid var(--line); border-radius:9px; color:var(--ink); font-size:.9375rem; font-weight:500; background:var(--surface); }
.role-tabs button[aria-selected=true] { border:1px solid var(--gold); background:var(--burgundy); color:var(--ink); }
.role-tabs button:hover { border-color:var(--gold); }
.skills-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.skills-list .skill-row { display:flex; flex-direction:column; gap:0; min-width:0; min-height:195px; padding:0; border:1px solid var(--line); border-radius:12px; background:var(--surface); overflow:hidden; }
.skill-card-header { align-self:stretch; padding:16px 20px; background:rgba(116,48,71,.2); border-bottom:1px solid var(--line); }
.skill-card-header h3 { font-size:1.0625rem; font-weight:600; line-height:1.45; color:var(--ink); }
.skills-list .skill-card-description { padding:16px 20px; font-size:1rem; line-height:1.65; color:var(--muted); }
.skill-card-footer { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:12px; padding:0 20px 19px; margin-top:auto; }
.source-badge,.type-badge { display:inline-block; padding:4px 9px; border-radius:6px; background:rgba(220,193,141,.1); color:var(--gold); font-size:.875rem; line-height:1.45; }
.source-badge { overflow-wrap:anywhere; max-width:100%; }
.resource-open,.skill-row a.resource-open { display:inline-flex; align-items:center; justify-content:center; min-height:42px; padding:9px 13px; margin:0; border:1px solid #a66177; border-radius:7px; background:var(--burgundy); color:var(--ink); font-size:.875rem; font-weight:500; line-height:1.45; text-decoration:none; white-space:nowrap; }
.resource-open:hover,.skill-row a.resource-open:hover { background:#8d3c55; border-color:var(--gold); }
.role-options { border:1px solid var(--line); border-radius:12px; padding:13px 17px; background:var(--surface); }
.role-options summary { font-size:.9375rem; color:var(--ink); }
.role-options p { font-size:.9375rem; line-height:1.7; }
.writing-columns { gap:36px; }
.writing-heading { padding:15px 18px; margin-bottom:15px; border:1px solid var(--line); border-left:3px solid var(--gold); border-radius:9px; background:rgba(116,48,71,.18); gap:14px; }
.writing-heading h3 { font-size:1.125rem; font-weight:600; }
.writing-heading .muted { font-size:.875rem; white-space:nowrap; }
.script-row,.article-row { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:start; gap:18px; margin-bottom:12px; padding:18px; border:1px solid var(--line); border-radius:10px; background:var(--surface); }
.script-body,.article-content { min-width:0; }
.script-body h4,.article-row h4 { font-size:1.0625rem; font-weight:600; line-height:1.5; }
.script-meta,.article-kind { display:flex; align-items:center; flex-wrap:wrap; gap:7px 10px; font-size:.875rem; line-height:1.55; margin-top:9px; color:var(--muted); }
.script-read.resource-open { font-size:.875rem; }
.script-synopsis,.article-details { margin-top:13px; }
.script-synopsis summary,.article-details summary { padding:8px 11px; border:1px solid var(--line); border-radius:8px; background:rgba(220,193,141,.06); font-size:.875rem; color:var(--gold); }
.script-synopsis p,.article-details p { font-size:1rem; line-height:1.65; }
.script-synopsis .script-tags { font-size:.875rem; line-height:1.6; }
.article-row h4 a { text-decoration:none; }
.article-row h4 a:hover { color:var(--gold); text-decoration:underline; text-underline-offset:4px; }
.blog-link { margin-top:12px; font-size:.9375rem; }
.timeline,#extra-timeline { display:grid; gap:16px; }
.experience-section .timeline-item { padding:22px; border:1px solid var(--line); border-left:3px solid var(--gold); border-radius:12px; background:var(--surface); }
.timeline-header { display:flex; justify-content:space-between; align-items:baseline; gap:10px 18px; flex-wrap:wrap; }
.timeline-header h3 { font-size:1.25rem; font-weight:600; margin:0; line-height:1.4; }
.timeline-header .timeline-meta { font-size:.875rem; line-height:1.55; letter-spacing:0; }
.timeline-item .timeline-role { font-size:1rem; font-weight:500; line-height:1.55; margin-top:12px; color:var(--ink); }
.timeline-item .timeline-body { font-size:1rem; line-height:1.7; margin-top:12px; }
.experience-section .education-block { padding:22px; border:1px solid var(--line); border-left:3px solid var(--gold); border-radius:12px; background:var(--surface); min-width:0; }
.education-block h3 { font-size:1.125rem; font-weight:600; margin:-22px -22px 22px; padding:17px 22px; background:rgba(116,48,71,.2); border-bottom:1px solid var(--line); border-radius:11px 11px 0 0; }
.education-block p { font-size:1rem; line-height:1.7; }
.education-block p strong { font-size:1.0625rem; font-weight:600; }
.extra-experience,.training-details { margin-top:18px; }
.extra-experience>summary,.training-details>summary,.alternate-resumes>summary { padding:13px 16px; border:1px solid var(--line); border-radius:8px; background:rgba(220,193,141,.06); color:var(--ink); font-size:.9375rem; line-height:1.55; }
.extra-experience>summary:hover,.training-details>summary:hover,.alternate-resumes>summary:hover,.script-synopsis>summary:hover,.article-details>summary:hover { border-color:var(--gold); }
.extra-experience[open]>summary { margin-bottom:16px; }
.training-details p { font-size:.9375rem; line-height:1.7; }
@media(max-width:1000px) {
  .overview .proof { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .proof .proof-stat { min-height:195px; }
}
@media(max-width:900px) {
  .role-tabs { flex-wrap:wrap; }
  .role-tabs button { flex:1 1 calc(50% - 6px); }
  .writing-columns { grid-template-columns:1fr; gap:35px; }
  .writing-heading { margin-bottom:14px; }
}
@media(max-width:780px) {
  .skills-list { grid-template-columns:1fr; }
  .skills-list .skill-row { min-height:0; }
  .experience-layout { grid-template-columns:1fr; gap:28px; }
}
@media(max-width:580px) {
  .overview .proof { gap:12px; }
  .proof .proof-stat { padding:16px 14px; min-height:220px; }
  .proof .proof-stat .overview-label { font-size:1rem; }
  .proof .proof-stat .overview-note,.proof .proof-stat .overview-action { font-size:.875rem; }
  .role-tabs { gap:9px; }
  .role-tabs button { min-height:68px; padding:12px; }
  .skill-card-header { padding:15px 18px; }
  .skills-list .skill-card-description { padding:15px 18px; }
  .skill-card-footer { padding:0 18px 18px; }
  .script-row,.article-row { padding:17px; gap:13px; }
  .timeline-header { align-items:flex-start; }
  .experience-section .timeline-item,.experience-section .education-block { padding:20px; }
  .education-block h3 { margin:-20px -20px 20px; padding:16px 20px; }
  .writing-heading { flex-wrap:wrap; }
}
@media(max-width:420px) {
  .script-row,.article-row { grid-template-columns:1fr; }
  .script-read.resource-open,.article-open { justify-self:start; }
  .resource-open { min-height:44px; }
  .role-tabs button { font-size:.875rem; }
}
