.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{overflow-wrap:anywhere;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)}.working-together{border-top:1px solid var(--ash-300);overflow-wrap:anywhere;margin-top:56px;padding-top:40px}.working-together-intro{max-width:660px;margin-bottom:32px}.working-together h2{color:var(--paper);margin-bottom:16px;font-size:clamp(2rem,4vw,2.75rem);line-height:1.15}.working-together h3{color:var(--paper);margin-bottom:16px;font-size:1.375rem;font-weight:600;line-height:1.4}.working-together h4{color:var(--paper);margin-bottom:12px;font-size:1rem;font-weight:600;line-height:1.5}.working-together p{font-size:1rem;line-height:1.75}.working-together p+p{margin-top:16px}.working-together-offer{border-top:1px solid var(--ash-300);grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:48px;padding:32px 0;display:grid}.working-together-scope,.working-together-example{min-width:0}.working-together-example{border-left:1px solid var(--ash-300);padding-left:28px}.working-together .working-together-limit{color:var(--ash-700);font-size:.9375rem}.working-together-limit strong{color:var(--ash-800);font-weight:500}.working-together-action{width:fit-content;max-width:100%;min-height:44px;color:var(--paper);align-items:center;margin-top:16px;line-height:1.5;text-decoration:underline;display:flex}.working-together .working-together-details{color:var(--ash-700);margin-top:4px;font-size:.875rem}.working-together-process{border-top:1px solid var(--ash-300);padding-top:32px}.working-together-process ol{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 48px;padding-left:24px;list-style:decimal;display:grid}.working-together-process li{min-width:0;padding-left:8px}.working-together-process li::marker{color:var(--paper);font-weight:600}.working-together-process h4{margin-bottom:8px}@media (max-width:700px){.working-together-offer{grid-template-columns:1fr;gap:24px}.working-together-example{padding-left:20px}.working-together-process ol{grid-template-columns:1fr;gap:24px}}@media (max-width:560px){.working-together{margin-top:40px;padding-top:32px}.working-together-offer{padding:28px 0}}.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;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;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);overflow-wrap:anywhere;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;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}}
