.about-page{max-width:1152px;font-family:var(--font-geist-sans),sans-serif;color:var(--ash-800);margin:auto;padding:clamp(48px,10vh,112px) 40px 80px}.about-page h1{color:var(--paper);margin-bottom:32px;font-size:clamp(2.75rem,6vw,4rem);line-height:1.05}.about-intro{grid-template-columns:minmax(160px,280px) minmax(0,1fr);align-items:start;gap:56px;display:grid}.about-portrait{border:1px solid var(--ash-300);width:100%;max-width:280px;height:auto}.about-copy{max-width:660px;font-size:1rem;line-height:1.8}.about-copy p+p{margin-top:20px}.about-copy h2{color:var(--paper);margin:32px 0 12px;font-size:1.25rem;font-weight:600;line-height:1.4}.about-page a{text-underline-offset:4px;text-decoration-thickness:1px}.about-copy a,.contact-direct{color:var(--paper);text-decoration:underline}.about-copy a:hover{color:var(--paper)}.about-skills{gap:18px;padding-top:24px;font-size:.875rem;line-height:1.6;display:grid}.about-skills dt{color:var(--paper);font-weight:500}.about-skills dd{color:var(--ash-700)}.about-contact{border-top:1px solid var(--ash-300);grid-template-columns:minmax(160px,280px) minmax(0,1fr);gap:56px;margin-top:56px;padding-top:40px;scroll-margin-top:8rem;display:grid}.contact-intro h2{color:var(--paper);margin-bottom:16px;font-size:2.75rem;line-height:1.1}.contact-intro p{color:var(--ash-700);margin-bottom:20px;font-size:1rem;line-height:1.7}.contact-direct,.contact-github{overflow-wrap:anywhere;align-items:center;min-height:44px;font-size:.9375rem;display:flex}.contact-github{color:var(--ash-700);gap:8px;text-decoration:underline}.contact-form{min-width:0}.contact-fields{grid-template-columns:1fr 1fr;gap:20px;display:grid}.contact-field{flex-direction:column;gap:8px;min-width:0;display:flex}.contact-field-wide{grid-column:1/-1}.contact-field label{color:var(--paper);font-size:.9375rem;font-weight:500}.contact-field input,.contact-field textarea{font:inherit;width:100%;min-height:48px;color:var(--paper);background:var(--ink-2);border:1px solid #777780;border-radius:6px;padding:12px 14px;scroll-margin-top:8rem;font-size:1rem;line-height:1.5}.contact-field textarea{resize:vertical;min-height:148px}.contact-field input::placeholder,.contact-field textarea::placeholder{color:var(--ash-700)}.contact-field [aria-invalid=true]{border-color:var(--signal-soft)}.contact-error{color:var(--signal-soft);font-size:.9375rem;line-height:1.5}.contact-note{color:var(--ash-700);margin:16px 0;font-size:.875rem;line-height:1.6}.contact-submit{font:inherit;background:var(--paper-2);min-height:48px;color:var(--ink);cursor:pointer;border:1px solid #0000;border-radius:6px;padding:12px 24px;font-size:1rem;font-weight:600}.contact-submit:hover{background:var(--paper)}.contact-submit:active{background:var(--ash-800)}.contact-submit:disabled{cursor:wait;opacity:.7}.contact-status{color:var(--paper);margin-bottom:20px;scroll-margin-top:8rem;font-size:1rem;line-height:1.65}.contact-status:empty{display:none}.contact-trap{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}@media (max-width:700px){.about-page{padding:48px 24px 56px}.about-intro{grid-template-columns:minmax(140px,220px) minmax(0,1fr);gap:28px}.about-contact{grid-template-columns:1fr;gap:24px}.contact-intro{max-width:480px}}@media (max-width:560px){.about-intro{grid-template-columns:1fr;gap:28px}.about-portrait{max-width:160px}.about-page h1{margin-bottom:24px}.contact-fields{grid-template-columns:1fr}.about-contact{margin-top:40px;padding-top:32px}}@media (forced-colors:active){.contact-submit{border-color:buttontext}.contact-field input,.contact-field textarea{border-color:fieldtext}}.contact-location{border-top:1px solid var(--ash-300);margin:28px 0;padding:20px 0}.contact-location h3{color:var(--paper);margin-bottom:8px;font-size:1rem;font-weight:500}.contact-location p{margin:0;font-size:.9375rem}.contact-intro .social-links{gap:10px}.contact-intro .site-button{flex:auto}.contact-field input:focus,.contact-field textarea:focus{outline:2px solid var(--paper-2);outline-offset:3px;border-color:var(--paper-2)}.contact-field input,.contact-field textarea{accent-color:var(--paper-2);caret-color:var(--paper)}@media (max-width:560px){.about-profile{display:block}.about-skills{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;padding-top:24px}.about-portrait{max-width:160px}}@media (max-width:360px){.about-skills{grid-template-columns:1fr}.about-portrait{max-width:140px}}
