.editorial-page{background:#f9fafb;color:#030712;min-height:100svh}.page-container{margin-inline:auto;max-width:84rem;padding-inline:clamp(1rem,3vw,2rem)}.page-hero{background-image:radial-gradient(rgb(3 7 18 / .12) 1px,transparent 1.4px);background-size:24px 24px;border-bottom:2px solid #030712;padding-block:clamp(8rem,16vw,12rem) 3.5rem}.page-kicker{font-size:.7rem;font-weight:900;letter-spacing:.2em;text-transform:uppercase}.page-title{font-size:clamp(3rem,11.5vw,10.5rem);line-height:.88;margin-block:2rem;text-transform:uppercase}.page-action{align-items:center;background:#fff;border:2px solid #030712;box-shadow:4px 4px #030712;color:#030712;cursor:pointer;display:inline-flex;font-size:.75rem;font-weight:900;gap:.65rem;justify-content:center;letter-spacing:.12em;min-height:48px;padding:.8rem 1.2rem;text-transform:uppercase;transition:transform .16s,box-shadow .16s}.page-action--dark{background:#030712;box-shadow:4px 4px #10b981;color:#fff}.page-action:hover:not(:disabled){box-shadow:7px 7px #10b981;transform:translate(-2px,-2px)}.page-action:disabled{cursor:not-allowed;opacity:.5}.editorial-page :focus-visible{outline:3px solid #10b981;outline-offset:4px}.cv-section{border-bottom:2px solid #030712;display:grid;gap:2rem;padding-block:clamp(3rem,7vw,6rem)}.cv-role+.cv-role{border-top:1px solid #9ca3af;margin-top:3rem;padding-top:3rem}.cv-company{font-family:var(--font-display);font-size:clamp(1.8rem,4vw,3.5rem);font-weight:700;line-height:1;overflow-wrap:anywhere}.cv-highlights{list-style:none;padding:0}.cv-highlights li{border-left:3px solid #10b981;margin-top:.9rem;padding-left:1rem}.contact-panel{background:#fff;border:2px solid #030712;box-shadow:7px 7px #030712;min-width:0;padding:clamp(1rem,3vw,2.5rem)}.contact-field{background:#f9fafb;border:2px solid #9ca3af;border-radius:0;color:#030712;font:inherit;min-height:48px;padding:.75rem;width:100%}.contact-field:focus{border-color:#030712;box-shadow:none}.contact-field[aria-invalid=true]{border-color:#b91c1c}.contact-label{display:block;font-size:.85rem;font-weight:700;margin-bottom:.5rem}.field-error{color:#b91c1c;font-size:.8rem;line-height:1.5;margin-top:.5rem}@media (min-width: 1024px){.cv-section{grid-template-columns:15rem minmax(0,1fr);gap:4rem}}@media (prefers-reduced-motion: reduce){.page-action{transition:none}}@media print{.site-nav,.cv-actions,.cv-cta{display:none}.page-hero{background:none;padding-block:1rem}.page-title{font-size:3rem}.cv-section{padding-block:1rem}.cv-role{break-inside:avoid}}
