        :root { color-scheme: light; --ink: #172e40; --muted: #52616b; --paper: #f5f4ef; --line: #dcded9; --sage: #687d70; --gold: #8a6b32; }
        * { box-sizing: border-box; }
        html { scroll-behavior: smooth; scroll-padding-top: 105px; }
        body { margin: 0; background: var(--paper); color: var(--ink); font-family: "Segoe UI", Arial, sans-serif; -webkit-font-smoothing: antialiased; }
        a { color: inherit; text-decoration: none; }
        button { font: inherit; cursor: pointer; }
        a, button, summary { -webkit-tap-highlight-color: transparent; }
        :focus-visible { outline: 3px solid #397f9e; outline-offset: 5px; }
        .skip-link { position: fixed; top: 10px; left: 10px; transform: translateY(-160%); background: var(--ink); color: #fff; padding: 14px 20px; z-index: 5; border-radius: 4px; }
        .skip-link:focus { transform: translateY(0); }
        .page { width: min(1080px, calc(100% - 96px)); margin: 0 auto; }
        .header { position: sticky; top: 0; z-index: 3; display: flex; align-items: center; justify-content: space-between; padding: 20px 0; border-bottom: 1px solid var(--line); background: var(--paper); }
        .brand { display: flex; align-items: center; gap: 14px; min-height: 44px; }
        .monogram { display: grid; place-items: center; width: 44px; height: 44px; border: 1px solid var(--ink); border-radius: 50%; font: 18px Georgia, serif; letter-spacing: -1px; }
        .brand-label { font-size: 12px; letter-spacing: .3px; }
        .nav { display: flex; gap: 22px; }
        .nav a { display: flex; align-items: center; min-height: 44px; font-size: 13px; }
        .nav a:hover, .quiet-link:hover { text-decoration: underline; text-underline-offset: 5px; }
        .nav .nav-contact { color: #fff; background: var(--ink); padding: 0 16px; border-radius: 4px; }
        .eyebrow, .section-label { font-size: 11px; font-weight: 600; letter-spacing: 1.8px; text-transform: uppercase; }
        .eyebrow { display: flex; align-items: center; gap: 10px; color: var(--muted); margin: 0 0 20px; }
        .signature { display: inline-flex; align-items: flex-end; gap: 3px; height: 14px; }
        .signature i { display: block; width: 4px; height: 7px; background: var(--ink); border-radius: 1px; }
        .signature i:nth-child(2) { height: 10px; background: var(--sage); }
        .signature i:nth-child(3) { height: 14px; background: var(--gold); }
        .hero { display: grid; grid-template-columns: 1.25fr 1fr; align-items: center; gap: 68px; padding: 56px 0 46px; }
        h1 { margin: 0 0 20px; font: 400 clamp(48px, 5.4vw, 70px)/1.05 Georgia, serif; letter-spacing: -2.3px; }
        .tagline { font: 400 26px/1.35 Georgia, serif; letter-spacing: -.4px; margin: 0 0 14px; }
        .role { color: var(--muted); font-size: 15px; font-weight: 500; line-height: 1.6; margin: 0 0 18px; }
        .intro { color: var(--muted); max-width: 430px; font-size: 16px; line-height: 1.75; margin: 0; }
        .actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 25px; }
        .contact-actions { display: inline-flex; flex-wrap: wrap; gap: 10px; }
        .cv-dialog { width: min(390px, calc(100% - 32px)); max-height: calc(100% - 32px); padding: 28px; color: var(--ink); background: var(--paper); border: 1px solid var(--line); border-radius: 8px; text-align: center; }
        .cv-dialog::backdrop { background: rgba(23, 46, 64, .6); }
        .cv-dialog h2 { font: 400 30px/1.2 Georgia, serif; margin: 12px 0; }
        .cv-dialog p { color: var(--muted); font-size: 14px; line-height: 1.6; }
        .cv-dialog img { display: block; width: min(100%, 240px); height: auto; margin: 22px auto; image-rendering: pixelated; }
        .cv-dialog form { display: flex; justify-content: flex-end; }
        .cv-dialog-close { min-width: 44px; min-height: 44px; font-size: 22px; color: var(--ink); border: 1px solid var(--line); border-radius: 4px; background: transparent; }
        .cv-dialog-close:hover { background: #e8eae5; }
        .cv-dialog .actions { justify-content: center; }
        .quick-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 22px; }
        .save-phone-button { border: 0; padding: 0; background: transparent; color: var(--ink); cursor: pointer; }
        .save-phone-button:hover { text-decoration: underline; text-underline-offset: 5px; }
        .phone-guide { text-align: left; margin-top: 22px; }
        .phone-guide h3 { margin: 0 0 8px; font-size: 15px; }
        .phone-guide ol { padding-left: 22px; margin: 0 0 22px; color: var(--muted); font-size: 14px; line-height: 1.8; }
        .phone-guide li { padding-left: 3px; margin-bottom: 5px; }
        .phone-guide strong { color: var(--ink); }
        .site-address { display: block; overflow-wrap: anywhere; padding: 12px; border: 1px solid var(--line); border-radius: 4px; font-size: 13px; line-height: 1.6; text-decoration: underline; text-underline-offset: 3px; }
        .button { display: inline-flex; align-items: center; justify-content: center; gap: 12px; min-height: 48px; padding: 12px 18px; border: 1px solid var(--ink); border-radius: 4px; font-size: 14px; font-weight: 600; transition: background .18s, color .18s; }
        .button-primary { color: #fff; background: var(--ink); }
        .button-primary:hover { background: #2c4d64; }
        .button-secondary { background: transparent; }
        .button-secondary:hover { background: #e8eae5; }
        .button-linkedin { background: #0a66c2; border-color: #0a66c2; color: #fff; }
        .button-linkedin:hover { background: #004182; border-color: #004182; }
        .linkedin-icon { display: grid; place-items: center; width: 18px; height: 18px; border-radius: 2px; background: #fff; color: #0a66c2; font: bold 14px Arial, sans-serif; letter-spacing: -1px; }
        svg { width: 18px; height: 18px; flex-shrink: 0; }
        .quiet-link { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; font-size: 14px; }
        .hero .quiet-link { margin-top: 8px; }
        .hero .actions { gap: 12px; }
        .hero .button { border-radius: 6px; }
        .quick-actions { gap: 0; margin-top: 10px; }
        .hero .quick-actions > .quiet-link { position: relative; margin-top: 0; padding: 0 16px; color: var(--muted); font-size: 13px; line-height: 1.4; }
        .hero .quick-actions > .quiet-link:first-child { padding-left: 0; }
        .hero .quick-actions > .quiet-link + .quiet-link::before { content: ""; position: absolute; left: 0; top: 50%; transform: translateY(-50%); height: 14px; border-left: 1px solid #c8ceca; }
        .hero .quick-actions > .quiet-link:hover { color: var(--ink); }
        .quick-actions svg { width: 16px; height: 16px; }
        .portrait { margin: 0; position: relative; padding: 0 12px 12px 0; }
        .portrait::before { content: ""; position: absolute; inset: 18px 0 0 18px; border: 1px solid #b7beb9; border-radius: 5px; }
        .portrait img { display: block; position: relative; width: 100%; height: auto; aspect-ratio: 4 / 4.35; object-fit: cover; object-position: center; border-radius: 4px; }
        .journey { display: flex; align-items: center; gap: 20px; padding: 22px 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
        .journey-label { font-size: 10px; text-transform: uppercase; letter-spacing: 1.6px; color: var(--muted); white-space: nowrap; }
        .journey ol { display: flex; justify-content: space-between; gap: 18px; flex: 1; list-style: none; padding: 0; margin: 0; }
        .journey li { display: flex; align-items: center; gap: 10px; font-size: 14px; }
        .journey li::before { content: ""; display: block; width: 6px; height: 6px; border-radius: 50%; background: var(--ink); }
        .journey li:nth-child(2)::before { background: var(--sage); }
        .journey li:nth-child(3)::before { background: var(--gold); }
        .content-section { padding: 42px 0; }
        .section-label { color: var(--muted); margin: 0 0 12px; }
        .section-heading { margin: 0 0 12px; font: 400 clamp(28px, 3.2vw, 36px)/1.2 Georgia, serif; letter-spacing: -.7px; }
        .section-copy { color: var(--muted); font-size: 15px; line-height: 1.8; margin: 0; max-width: 650px; }
        .section-top { display: flex; align-items: baseline; justify-content: space-between; gap: 24px; margin-bottom: 22px; }
        .section-top .section-heading { margin: 0; }
        .work-grid { display: grid; grid-template-columns: 1.35fr 1fr; gap: 20px; }
        .project { padding: 28px; border: 1px solid var(--line); border-radius: 6px; background: #fff; display: flex; flex-direction: column; align-items: flex-start; }
        .project h3 { font: 400 26px/1.3 Georgia, serif; margin: 0 0 12px; }
        .project p { color: var(--muted); font-size: 15px; line-height: 1.8; margin: 0 0 16px; }
        .project .section-label { font-size: 10px; line-height: 1.5; margin-bottom: 18px; }
        .project .quiet-link { margin-top: auto; font-weight: 600; text-decoration: underline; text-underline-offset: 5px; }
        .tags { display: flex; flex-wrap: wrap; gap: 7px; list-style: none; padding: 0; margin: 0 0 16px; }
        .tags li { font-size: 11px; padding: 6px 9px; border: 1px solid var(--line); border-radius: 3px; }
        .award { background: #f0ede3; border-color: #ded7c6; }
        .award .section-label { display: flex; align-items: center; gap: 8px; color: #735923; }
        .award-note { font-size: 13px; color: var(--muted); margin-top: auto; }
        .other-work { font-size: 13px; line-height: 1.7; color: var(--muted); margin: 18px 0 0; }
        .personal-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 46px; border-top: 1px solid var(--line); }
        .opportunity { padding-left: 30px; border-left: 1px solid var(--line); }
        .interest-list { display: flex; flex-wrap: wrap; gap: 8px; list-style: none; margin: 18px 0 0; padding: 0; }
        .interest-list li { font-size: 12px; border: 1px solid var(--line); border-radius: 20px; padding: 7px 12px; }
        .icebreaker { display: flex; align-items: center; gap: 20px; padding: 22px 0; border-top: 1px solid var(--line); }
        .icebreaker p { font: 400 20px/1.4 Georgia, serif; margin: 0; flex-shrink: 0; }
        .icebreaker ul { display: flex; flex-wrap: wrap; gap: 6px 18px; list-style: none; margin: 0; padding: 0; }
        .icebreaker a { font-size: 13px; text-decoration: underline; text-underline-offset: 4px; }
        .contact { padding: 32px; margin: 0 0 36px; border: 1px solid #d7dfd4; border-radius: 6px; background: #e9ede7; display: grid; grid-template-columns: 1fr 1fr; gap: 36px; }
        .contact .section-heading { font-size: 32px; }
        .contact .actions { margin-top: 18px; }
        .email-row { display: flex; flex-wrap: wrap; align-items: center; gap: 5px 12px; margin-top: 6px; }
        .email-link { overflow-wrap: anywhere; font-size: 13px; text-decoration: underline; text-underline-offset: 4px; min-height: 44px; display: inline-flex; align-items: center; }
        .copy-button { background: transparent; border: 1px solid #b4c0b4; border-radius: 4px; min-height: 44px; padding: 8px 12px; font-size: 12px; }
        .copy-button:hover { background: #dce3d9; }
        .copy-status { font-size: 12px; color: var(--muted); margin: 0; }
        .copy-status:empty { display: none; }
        .share { border-left: 1px solid #cbd5c7; padding-left: 28px; align-self: start; }
        .share summary { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 44px; font-size: 14px; font-weight: 600; cursor: pointer; list-style: none; }
        .share summary::-webkit-details-marker { display: none; }
        .share summary::after { content: "+"; font: 24px Georgia, serif; }
        .share[open] summary::after { content: "−"; }
        .share-hint { color: var(--muted); font-size: 13px; line-height: 1.7; margin: 0 0 12px; }
        .share-content { display: flex; align-items: center; gap: 20px; margin-top: 16px; }
        .qr { display: block; width: 140px; height: 140px; flex-shrink: 0; background: white; }
        .share-content p { color: var(--muted); font-size: 13px; line-height: 1.7; margin: 0; }
        .share-content .quiet-link { font-size: 13px; text-decoration: underline; text-underline-offset: 4px; }
        footer { padding: 20px 0 25px; border-top: 1px solid var(--line); font-size: 12px; color: var(--muted); display: flex; justify-content: space-between; align-items: center; gap: 20px; }
        footer .quiet-link { font-size: 12px; }
        [hidden] { display: none !important; }
        @media (max-width: 960px) {
            .page { width: calc(100% - 56px); }
            .hero { gap: 36px; }
            .journey-label { display: none; }
            .share-content { flex-direction: column; align-items: flex-start; gap: 12px; }
        }
        @media (max-width: 760px) {
            html { scroll-padding-top: 90px; }
            .page { width: calc(100% - 40px); max-width: 540px; }
            .header { padding: 12px 0; }
            .brand-label { display: none; }
            .nav { gap: 16px; }
            .nav a { font-size: 12px; }
            .nav .nav-contact { padding: 0 12px; }
            .hero { grid-template-columns: minmax(0, 1fr) 96px; align-items: start; gap: 0 16px; padding: 32px 0 26px; }
            .hero-copy { display: contents; }
            .eyebrow { grid-column: 1; font-size: 9px; letter-spacing: 1.2px; margin: 0 0 16px; }
            h1 { grid-column: 1; font-size: clamp(32px, 9.5vw, 48px); letter-spacing: -1px; margin: 0 0 20px; }
            .portrait { grid-column: 2; grid-row: 1 / span 2; padding: 0 6px 6px 0; }
            .portrait::before { inset: 8px 0 0 8px; }
            .portrait img { aspect-ratio: 1; }
            .hero-copy > .tagline, .hero-copy > .role, .hero-copy > .intro, .hero-copy > .actions, .hero-copy > .quiet-link, .hero-copy > .quick-actions { grid-column: 1 / -1; }
            .tagline { font-size: 24px; margin-bottom: 10px; }
            .role { font-size: 14px; margin-bottom: 14px; }
            .intro { font-size: 15px; }
            .actions { margin-top: 20px; }
            .hero .quiet-link { justify-self: start; }
            .quick-actions { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); }
            .hero .quick-actions > .quiet-link { width: 100%; padding-right: 10px; padding-left: 10px; justify-self: stretch; gap: 6px; }
            .journey { padding: 18px 0; }
            .journey ol { gap: 10px; flex-wrap: wrap; }
            .journey li { font-size: 12px; gap: 6px; }
            .content-section { padding: 30px 0; }
            .section-top { align-items: flex-start; flex-direction: column; gap: 8px; margin-bottom: 18px; }
            .section-top .quiet-link { font-size: 13px; }
            .work-grid, .personal-grid, .contact { grid-template-columns: 1fr; gap: 18px; }
            .project { padding: 22px; }
            .personal-grid { gap: 24px; }
            .opportunity { padding: 24px 0 0; border-left: 0; border-top: 1px solid var(--line); }
            .icebreaker { flex-direction: column; align-items: flex-start; gap: 8px; }
            .icebreaker .quiet-link { min-height: 44px; }
            .contact { padding: 22px; gap: 22px; }
            .contact .section-heading { font-size: 28px; }
            .share { border-left: 0; border-top: 1px solid #cbd5c7; padding: 14px 0 0; }
            .share-content { flex-direction: row; align-items: center; gap: 14px; }
            .qr { width: 124px; height: 124px; }
            footer { flex-wrap: wrap; gap: 8px; }
        }
        @media (max-width: 350px) {
            .hero { grid-template-columns: minmax(0, 1fr) 80px; gap: 0 10px; }
            .nav { gap: 12px; }
            .share-content { flex-direction: column; align-items: flex-start; }
            .button { padding: 12px 14px; }
        }
        @media (prefers-reduced-motion: reduce) {
            html { scroll-behavior: auto; }
            .button { transition: none; }
        }

.cms-multiline { white-space: pre-line; }
.project, .extra-section { overflow-wrap: anywhere; }
.extra-section { border-top: 1px solid var(--line); }
.hero-copy > .cms-links { grid-column: 1 / -1; }
