/* Contact follows the live portfolio's typography, paper and bronze palette. */
.contact-page{background:var(--paper,#faf9f6)}
.contact-skip{position:absolute;left:20px;top:-100px;padding:12px 18px;background:var(--ink);color:white;z-index:50}.contact-skip:focus{top:10px}
.contact-content{padding-top:86px;padding-bottom:68px}
.contact-layout{display:grid;grid-template-columns:1fr 1fr;gap:clamp(50px,8vw,120px);align-items:start}
.contact-intro{padding-top:38px}
.contact-intro h1{font-size:34px;line-height:1.8;margin:24px 0 26px;letter-spacing:.04em;text-wrap:balance}
.contact-lead{color:var(--muted);font-size:15px;line-height:2.2;max-width:470px}
.contact-note{border-top:1px solid var(--line);padding-top:24px;margin-top:48px;max-width:400px}
.contact-note-label{font-size:9px;letter-spacing:.19em;color:var(--accent)}
.contact-note p{font-size:12px;line-height:2;color:var(--muted);margin-top:12px}
.line-panel{padding:38px 36px 40px;border:1px solid var(--line);background:#fffdfa;text-align:center}
.line-panel h2{font-family:inherit;font-size:20px;line-height:1.6;letter-spacing:.015em;margin:12px 0;font-weight:500;text-wrap:balance}
.line-intro{color:var(--muted);font-size:12px;line-height:1.9;max-width:340px;margin-inline:auto}
.qr-link{display:block;width:228px;max-width:100%;margin:24px auto 14px;background:white}
.qr-link img{width:228px;height:auto;aspect-ratio:1;object-fit:contain}
.qr-caption{max-width:310px;margin:0 auto;color:var(--muted);font-size:11px;line-height:1.8}
.line-account{display:flex;flex-direction:column;align-items:center;gap:3px;margin:22px auto 20px;width:max-content;max-width:100%}
.line-account span{color:var(--muted);font-size:11px}.line-account strong{font-size:18px;line-height:1.6;font-weight:500;letter-spacing:.04em}
.line-account:hover strong{text-decoration:underline;text-underline-offset:5px;text-decoration-color:var(--accent)}
.line-panel .line-friend{background:#263d36;min-width:228px;max-width:100%;border:1px solid #263d36;transform:none}
.line-panel .line-friend:hover{background:#394d43;border-color:#394d43}
.email-section{display:grid;grid-template-columns:1fr 1fr;gap:clamp(50px,8vw,120px);border-top:1px solid var(--line);margin-top:80px;padding-top:46px;align-items:start}
.email-intro h2{font-size:26px;line-height:1.8;margin:12px 0 14px;letter-spacing:.025em;text-wrap:balance}
.email-intro>p:last-child{color:var(--muted);font-size:13px;line-height:2;max-width:360px}
.email-list{border-top:1px solid var(--line)}
.email-row{display:grid;grid-template-columns:90px minmax(0,1fr);gap:18px;align-items:center;padding:22px 0;border-bottom:1px solid var(--line);transition:background .2s}
.email-region{font-size:11px;letter-spacing:.04em;color:var(--muted)}
.email-address{font-size:15px;letter-spacing:.005em;overflow-wrap:anywhere}
.email-row:hover .email-address{text-decoration:underline;text-underline-offset:5px;text-decoration-color:var(--accent)}
.contact-return{padding-top:34px}.contact-return .text-link{margin:0}
.contact-page .footer{border-top:1px solid var(--line)}
@media(max-width:1050px){.contact-layout,.email-section{gap:44px}.line-panel{padding:32px 24px}.email-row{grid-template-columns:65px minmax(0,1fr);gap:10px}.email-address{font-size:14px}}
@media(max-width:760px){.contact-content{padding-top:45px;padding-bottom:45px}.contact-layout,.email-section{grid-template-columns:1fr;gap:34px}.contact-intro{padding-top:0}.contact-intro h1{font-size:30px;margin-top:18px;margin-bottom:20px}.contact-lead{font-size:14px;line-height:2}.contact-note{margin-top:26px;padding-top:18px;max-width:none}.contact-note p{font-size:12px;max-width:480px}.line-panel{width:100%;max-width:520px;margin-inline:auto;padding:32px 24px}.line-panel h2{font-size:20px}.email-section{margin-top:50px;padding-top:30px;gap:24px}.email-intro h2{font-size:25px}.email-row{grid-template-columns:70px minmax(0,1fr);padding-block:20px}.contact-return{padding-top:30px}.contact-page .footer{flex-wrap:wrap;gap:14px 24px}}
@media(max-width:380px){.contact-page .brand img{width:135px}.contact-page .header-tools{gap:5px}.contact-page .language{max-width:92px}.contact-page .site-header{padding-inline:15px}.line-panel{padding-inline:18px}.email-row{grid-template-columns:1fr;gap:4px}.email-address{font-size:14px}}
@media(prefers-reduced-motion:reduce){.contact-page *{transition:none!important;scroll-behavior:auto!important}}
