:root {
  --ink: #142d3d;
  --ink-soft: #47606c;
  --paper: #f4f0e9;
  --paper-deep: #e9e2d8;
  --white: #fffdf9;
  --coral: #ef684f;
  --coral-light: #f8c3b2;
  --mint: #c8dfd8;
  --line: rgba(20, 45, 61, .18);
  --display: "Playfair Display", Georgia, serif;
  --body: "Manrope", "Segoe UI", sans-serif;
  --mono: "DM Mono", Consolas, monospace;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--paper); color: var(--ink); font-family: var(--body); font-size: 15px; line-height: 1.6; }
a { color: inherit; text-decoration: none; }
.page-shell { overflow: hidden; }
.site-header { align-items: center; display: flex; justify-content: space-between; margin: 0 auto; max-width: 1240px; padding: 25px 36px; }
.brand, .site-footer > div { align-items: center; display: flex; font-size: 14px; font-weight: 800; gap: 10px; letter-spacing: -.02em; }
.brand-mark { align-items: center; background: var(--coral); border-radius: 50%; color: var(--white); display: inline-flex; font-family: var(--mono); font-size: 11px; height: 32px; justify-content: center; width: 32px; }
.brand-mark.small { font-size: 9px; height: 26px; width: 26px; }
.main-nav { display: flex; gap: 28px; margin-left: auto; margin-right: 45px; }
.main-nav a, .text-link { color: var(--ink-soft); font-size: 12px; font-weight: 700; }
.main-nav a:hover, .text-link:hover { color: var(--coral); }
.print-button, .button { border: 0; cursor: pointer; font: 700 12px var(--body); }
.print-button { background: var(--ink); color: var(--white); padding: 11px 15px; }
.print-button span, .button span, .text-link span, .site-footer a span { color: var(--coral); padding-left: 6px; }
.hero { display: grid; grid-template-columns: 1.2fr .8fr; margin: 0 auto; max-width: 1240px; min-height: 635px; padding: 115px 36px 100px; position: relative; }
.hero::before { background: var(--mint); border-radius: 50%; content: ""; height: 480px; position: absolute; right: -170px; top: 65px; width: 480px; z-index: -1; }
.eyebrow, .section-kicker, .orbit-label, .panel-label, .project-topline, .skill-header { color: var(--coral); font: 500 11px var(--mono); letter-spacing: .08em; text-transform: uppercase; }
.eyebrow { align-items: center; display: flex; gap: 14px; }
.eyebrow-line { background: var(--coral); display: inline-block; height: 1px; width: 50px; }
h1, h2, h3, p { margin-top: 0; }
h1, h2 { font-family: var(--display); font-weight: 600; letter-spacing: -.04em; line-height: .98; }
h1 { font-size: clamp(54px, 7.5vw, 106px); margin: 30px 0; max-width: 800px; }
h1 em, h2 em { color: var(--coral); font-style: normal; }
.hero-intro { color: var(--ink-soft); font-size: 17px; max-width: 460px; }
.hero-actions { align-items: center; display: flex; gap: 27px; margin-top: 36px; }
.button { display: inline-block; padding: 14px 17px; }
.button-primary { background: var(--coral); color: var(--white); }
.button-primary:hover { background: var(--ink); }
.hero-aside { align-items: center; display: flex; flex-direction: column; justify-content: center; padding-top: 40px; }
.orbit-card { background: var(--white); border: 1px solid var(--line); box-shadow: 13px 13px 0 var(--coral-light); min-height: 315px; padding: 38px; position: relative; transform: rotate(3deg); width: 280px; }
.orbit-card strong { display: block; font-family: var(--display); font-size: 38px; letter-spacing: -.05em; line-height: .98; margin: 35px 0 26px; }
.orbit-note { color: var(--ink-soft); font-size: 13px; }
.orbit-number { bottom: 24px; color: var(--coral); font: 12px var(--mono); position: absolute; right: 24px; }
.availability { color: var(--ink-soft); font: 11px var(--mono); margin-top: 47px; }
.status-dot { background: #53a17e; border-radius: 50%; display: inline-block; height: 7px; margin-right: 7px; width: 7px; }
.intro-band { background: var(--ink); color: var(--white); padding: 96px max(36px, calc((100vw - 1168px) / 2)); }
.section-grid, .intro-content, .content-section, .skills-section { margin-left: auto; margin-right: auto; max-width: 1240px; }
.section-kicker { align-items: center; display: flex; gap: 14px; }
.section-kicker span { color: var(--coral); }
.intro-content { display: grid; gap: 100px; grid-template-columns: 1fr 1fr; margin-top: 58px; }
h2 { font-size: clamp(42px, 5vw, 72px); margin-bottom: 25px; }
.large-copy { font-size: 24px; letter-spacing: -.03em; line-height: 1.35; max-width: 540px; }
.muted-copy { color: #aebdc1; font-size: 13px; margin-top: 30px; max-width: 400px; }
.content-section, .skills-section { padding: 110px 36px; }
.section-heading { margin-bottom: 48px; }
.section-heading > p { color: var(--ink-soft); }
.competency-grid { display: grid; gap: 1px; grid-template-columns: repeat(4, 1fr); }
.competency-card { background: var(--white); border: 1px solid var(--line); min-height: 294px; padding: 25px; }
.competency-card.featured { background: var(--coral); color: var(--white); }
.competency-card.featured .card-index, .competency-card.featured p { color: #ffe5dc; }
.card-index { color: var(--coral); font: 11px var(--mono); }
.competency-card h3 { font-size: 19px; letter-spacing: -.04em; margin: 59px 0 11px; }
.competency-card p { color: var(--ink-soft); font-size: 13px; min-height: 65px; }
.level-row { display: flex; font: 10px var(--mono); justify-content: space-between; margin-top: 27px; text-transform: uppercase; }
.meter { background: rgba(20,45,61,.12); height: 4px; margin-top: 8px; }
.meter span { background: var(--ink); display: block; height: 100%; }
.featured .meter { background: rgba(255,255,255,.3); }.featured .meter span { background: var(--white); }
.work-section { background: var(--ink); color: var(--white); padding: 105px max(36px, calc((100vw - 1168px) / 2)) 115px; }
.split-heading { align-items: end; display: flex; justify-content: space-between; }.split-heading > p { color: #aebdc1; max-width: 260px; }.light { color: var(--coral-light); }
.project-list { display: grid; gap: 15px; grid-template-columns: repeat(3, 1fr); }
.project-card { min-height: 445px; padding: 27px; position: relative; }.project-one { background: var(--coral); }.project-two { background: #345d65; }.project-three { background: #8c9c78; color: var(--ink); }
.project-topline { color: rgba(255,255,255,.75); display: flex; font-size: 10px; justify-content: space-between; }.project-three .project-topline { color: rgba(20,45,61,.7); }
.project-card h3 { font-family: var(--display); font-size: 35px; letter-spacing: -.05em; margin: 76px 0 12px; }.project-summary { font-size: 13px; max-width: 260px; }.project-meta { display: grid; gap: 4px 12px; grid-template-columns: 70px 1fr; margin-top: 36px; }.project-meta span { font: 10px var(--mono); opacity: .7; text-transform: uppercase; }.project-meta strong { font-size: 12px; font-weight: 600; }.tag-list { bottom: 27px; display: flex; flex-wrap: wrap; gap: 5px; left: 27px; position: absolute; }.tag-list span { border: 1px solid currentColor; font: 10px var(--mono); padding: 5px 7px; }
.skills-layout { display: grid; gap: 56px; grid-template-columns: 1.55fr .75fr; }.skill-table { border-top: 1px solid var(--line); }.skill-row { align-items: center; border-bottom: 1px solid var(--line); display: grid; gap: 18px; grid-template-columns: 1fr 1.7fr .6fr; min-height: 59px; }.skill-row strong { font-size: 13px; }.skill-row span { color: var(--ink-soft); font-size: 13px; }.skill-row b { color: var(--coral); font: 10px var(--mono); text-align: right; text-transform: uppercase; }.skill-header { color: var(--ink-soft); font-size: 10px; min-height: 41px; }.tools-panel { background: var(--paper-deep); padding: 27px; }.panel-label { color: var(--ink); }.tool-cloud { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 32px; }.tool-cloud span { background: var(--white); font-size: 12px; padding: 8px 10px; }
.credentials-section { background: var(--coral-light); display: grid; gap: 80px; grid-template-columns: 1fr 1fr; padding: 100px max(36px, calc((100vw - 1168px) / 2)); }.credentials-copy p { max-width: 330px; }.credential-list { border-top: 1px solid rgba(20,45,61,.3); }.credential-list > div { border-bottom: 1px solid rgba(20,45,61,.3); display: grid; gap: 10px; grid-template-columns: 35px 1fr; padding: 21px 0; }.credential-list span { color: var(--coral); font: 11px var(--mono); }.credential-list strong { font-size: 14px; }.credential-list small { color: var(--ink-soft); grid-column: 2; }
.career-section { margin: 0 auto; max-width: 1240px; padding: 105px 36px 130px; }.career-section h2 { margin: 45px 0 65px; }.highlight-grid { border-top: 1px solid var(--line); display: grid; grid-template-columns: repeat(4, 1fr); }.highlight-grid div { border-right: 1px solid var(--line); padding: 30px 25px 0 0; }.highlight-grid div + div { padding-left: 25px; }.highlight-grid strong { display: block; font-family: var(--display); font-size: 46px; letter-spacing: -.06em; }.highlight-grid span { color: var(--ink-soft); font-size: 12px; }
.site-footer { align-items: center; background: var(--ink); color: var(--white); display: flex; justify-content: space-between; padding: 28px max(36px, calc((100vw - 1168px) / 2)); }.site-footer p { color: #aebdc1; font-size: 12px; margin: 0; }.site-footer a { color: var(--coral-light); font-size: 12px; }
@media (max-width: 850px) { .main-nav { gap: 14px; margin-right: 18px; }.hero { grid-template-columns: 1fr; padding-top: 75px; }.hero-aside { align-items: flex-start; padding: 80px 45px 0; }.intro-content, .credentials-section { gap: 40px; grid-template-columns: 1fr; }.competency-grid { grid-template-columns: repeat(2, 1fr); }.project-list { grid-template-columns: 1fr; }.project-card { min-height: 350px; }.skills-layout { grid-template-columns: 1fr; }.highlight-grid { grid-template-columns: repeat(2, 1fr); }.highlight-grid div:nth-child(3) { border-top: 1px solid var(--line); }.highlight-grid div:nth-child(3), .highlight-grid div:nth-child(4) { padding-top: 25px; } }
@media (max-width: 560px) { .site-header { padding: 20px; }.main-nav { display: none; }.print-button { margin-left: auto; }.hero, .content-section, .skills-section, .career-section { padding-left: 20px; padding-right: 20px; }.hero { min-height: auto; padding-bottom: 85px; }.hero::before { height: 340px; right: -190px; top: 190px; width: 340px; }.hero-actions { align-items: flex-start; flex-direction: column; gap: 20px; }.hero-aside { padding-left: 25px; }.orbit-card { width: 250px; }.intro-band, .work-section, .credentials-section { padding-left: 20px; padding-right: 20px; }.large-copy { font-size: 20px; }.competency-grid { grid-template-columns: 1fr; }.competency-card { min-height: 250px; }.split-heading { align-items: flex-start; flex-direction: column; gap: 20px; }.skill-row { gap: 8px; grid-template-columns: .9fr 1.4fr .7fr; }.skill-row span { font-size: 11px; }.site-footer { align-items: flex-start; flex-direction: column; gap: 13px; padding: 25px 20px; }.site-footer p { order: 3; } }
@media print { .site-header { position: static; }.print-button, .main-nav, .hero-aside, .hero-actions { display: none; }.hero { min-height: auto; padding: 60px 36px; }.work-section, .intro-band, .site-footer { print-color-adjust: exact; -webkit-print-color-adjust: exact; } }
