/* =====================================================
  Responsive / 断点：桌面 >= 1100, 平板 700–1099, 手机 <700
===================================================== */
@media (max-width: 1100px) {
  .desktop-nav { gap: 15px; }
  .hero-section__inner { gap: 15px; }
  .hero__portrait { width:calc(100% - 16px);max-width:400px; }
  .hero__floating { padding:12px; }
  .results-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .project-card__button { grid-template-columns: 46% 54%; }
  .project-card__content { padding: 22px 17px 19px; }
  .timeline-item { grid-template-columns:34px 130px 178px 1fr;gap:9px; }
  .skill-panel { padding-inline:14px; }
}
@media (max-width: 870px) {
  :root { --header-height: 66px; }
  .container { width:min(calc(100% - 44px), var(--max-width)); }
  .desktop-nav, .site-header__actions .btn { display:none; }
  .mobile-toggle { display:grid; }
  .hero-section__inner { min-height:540px;grid-template-columns: 1.1fr .9fr;gap:0;padding-top:54px; }
  .hero__name { font-size:clamp(39px,5vw,50px); }
  .hero__title { font-size:21px; }
  .hero__visual { min-height:470px; }
  .hero__portrait { width:100%;max-width:360px; }
  .hero__floating { padding:10px 11px; }
  .profile-grid { grid-template-columns:.8fr 1.2fr;gap:5%; }
  .projects-grid { grid-template-columns:1fr; }
  .project-card__button { grid-template-columns:45% 55%; }
  .project-card__visual { min-height:228px; }
  .timeline-item { grid-template-columns:30px 135px 1fr;gap:10px; }
  .timeline-item__bullets { grid-column:3; }
  .skills-grid { grid-template-columns:repeat(2,1fr);row-gap:26px; }
  .skill-panel { padding:0 15px 20px; }
  .skill-panel:nth-child(1),.skill-panel:nth-child(3) { padding-left:0; }
  .skill-panel:nth-child(2),.skill-panel:nth-child(4) { border-right:0;padding-right:0; }
  .footer-contact__content { gap:26px; }
}
@media (max-width: 699px) {
  :root { --header-height: 65px; }
  .container { width:calc(100% - 40px); }
  .brand { font-size:17px; }
  .site-header__inner { gap:10px; }
  .mobile-toggle { width:44px;height:44px; }
  .mobile-nav { padding: 8px 20px 17px; }
  .section { padding:61px 0; }
  .section-head { display:block;margin-bottom:24px; }
  .section-head h2 { font-size:28px;line-height:1.25;letter-spacing:-.75px; }
  .section-head__aside { text-align:left;margin:9px 0 0;font-size:11px; }
  .section-kicker { font-size:9px;letter-spacing:1.45px; }
  .hero-section__inner { display:flex;flex-direction:column;align-items:stretch;min-height:0;padding:32px 0 0;gap:0; }
  .hero__copy { padding:0; }
  .hero__eyebrow { font-size:10px;letter-spacing:.55px;flex-wrap:wrap;gap:5px 7px;line-height:1.65; }
  .hero__eyebrow::before { width:15px; }
  .hero__name { font-size:clamp(36px,10.7vw,44px);line-height:1.16;letter-spacing:-1.4px;margin:16px 0 13px;text-wrap:balance; }
  .hero__title { font-size:20px;line-height:1.55;max-width:410px;letter-spacing:-.55px;text-wrap:balance; }
  .hero__subtitle { font-size:13px;line-height:1.7;margin-top:8px; }
  .hero__intro { font-size:13px;line-height:1.85;margin-top:13px;text-wrap:pretty; }
  .hero__pills { margin-top:20px;gap:7px; }
  .hero__pill { font-size:10.5px;padding:7px 9px; }
  .hero__actions { gap:9px;margin-top:22px; }
  .hero__actions .btn { flex:1;min-width:0;padding:0 9px;font-size:12px;gap:8px;min-height:48px; }
  .hero__contact-line { gap:6px 12px;margin-top:16px;font-size:11px; }
  .hero__visual { width:calc(100% + 40px);margin:20px -20px 0;height:clamp(354px,99vw,410px);min-height:0;overflow:hidden; }
  .hero__arch { bottom:-38px;left:10%;width:80%;height:92%;border-radius:50% 50% 0 0; }
  .hero__ring { width:415px;height:415px;left:-180px;bottom:-265px; }
  /* 人物保持原图比例；上方留白，底部留出资质卡的位置。 */
  .hero__portrait { width:auto;max-width:calc(100% - 48px);height:calc(100% - 68px);max-height:none;left:50%;transform:translateX(-50%);bottom:44px; }
  .hero__dots { right:8px;top:13px;width:85px;height:100px; }
  .hero__floating { left:50%;bottom:16px;gap:10px;padding:12px 14px;background:rgba(255,255,255,.97);max-width:calc(100% - 40px); }
  .hero__floating-icon { width:34px;height:34px; }
  .hero__floating-icon .icon { width:17px;height:17px; }
  .hero__floating strong { font-size:12px;line-height:1.45; }.hero__floating span { font-size:10.5px;line-height:1.45; }
  .profile-grid { display:block; }
  .profile-title { font-size:26px;letter-spacing:-.55px;margin:16px 0 0; }
  .profile-body { font-size:13px;line-height:1.85;margin:17px 0 0; }
  .profile-facts { grid-template-columns:1fr 1fr;gap:0;margin-top:22px;padding-top:4px;border-top:0; }
  .profile-fact { border-right:0;border-top:1px solid var(--line);padding:14px 3px 13px 0; }
  .profile-fact:nth-child(odd) { padding-right:8px; }
  .profile-fact:last-child { grid-column:span 2; }
  .profile-fact .icon { width:17px;height:17px; }
  .results-intro { display:block;margin-bottom:22px; }
  .results-intro p { margin-top:12px;font-size:11px; }
  .results-grid { grid-template-columns:1fr 1fr;gap:10px; }
  .metric-card { padding:17px 14px 17px;border-radius:13px; }
  .metric-card__label { font-size:11px;gap:6px; }
  .metric-card__label .icon { width:17px;height:17px; }
  .metric-card__eyebrow { font-size:10px;margin-top:12px; }
  .metric-card__number { font-size:34px;letter-spacing:-1.2px; }
  .metric-card__number small { font-size:13px; }
  .metric-card__foot { font-size:10.5px;line-height:1.7;margin-top:7px;min-height:34px; }
  .projects-grid { gap:14px; }
  .project-card__button { display:flex;flex-direction:column; }
  .project-card__visual { height:208px;min-height:208px;width:100%;padding:27px 26px; }
  .mini-stage { max-width:236px; }
  .project-card__content { padding:19px 18px 19px; }
  .project-card__title { font-size:17px; }
  .project-card__desc { font-size:12.5px;line-height:1.8;margin:10px 0 13px; }
  .project-card__type { font-size:10.5px; }
  .timeline::before { left:6px;top:20px;bottom:46px; }
  .timeline-item { display:grid;grid-template-columns:25px 1fr;gap:0 10px;padding:20px 0; }
  .timeline-item__dot { width:8px;height:8px;border:3px solid var(--surface);margin:4px 0 0 1px; }
  .timeline-item__date { grid-column:2;font-size:10px;margin:0 0 7px;color:var(--blue); }
  .timeline-item__role { grid-column:2; }
  .timeline-item h3 { font-size:14px;line-height:1.4;margin:0 0 3px; }
  .timeline-item__company { font-size:10px; }
  .timeline-item__bullets { grid-column:2;margin-top:11px;font-size:12.2px;line-height:1.8; }
  .timeline-item__bullets p { margin:0 0 4px; }
  .skills-grid { grid-template-columns:repeat(2,minmax(0,1fr));column-gap:10px;row-gap:10px; }
  .skill-panel,.skill-panel:first-child,.skill-panel:last-child,.skill-panel:nth-child(3),.skill-panel:nth-child(4) { padding:16px 13px;border:1px solid var(--line);border-radius:13px;background:white; }
  .skill-panel__heading { align-items:start;flex-direction:column;gap:9px;margin-bottom:14px; }
  .skill-panel__icon { width:32px;height:32px;border-radius:9px; }
  .skill-panel__icon .icon { width:17px;height:17px; }
  .skill-panel h3 { font-size:12px; }
  .skill-panel .tag-cloud { gap:6px; }
  .skill-panel .tag { font-size:10px;padding:5px 7px;white-space:normal; }
  .footer-contact { padding:59px 0 54px; }
  .footer-contact__content { display:block; }
  .footer-contact h2 { font-size:30px;letter-spacing:-.7px; }
  .footer-contact__lead { font-size:12.5px; }
  .footer-contact__btn { margin:20px 0 26px; }
  .contact-methods { gap:9px; }
  .contact-method { padding:12px; }
  .contact-method__icon { width:33px;height:33px; }
  .contact-method strong { font-size:12px; }
  .site-footer { padding:22px 0; }
  .site-footer__row,.site-footer__brand { flex-direction:column;align-items:flex-start;gap:12px; }
  .site-footer__brand { gap:5px; }
  .site-footer__meta { justify-content:flex-start;gap:6px 12px; }
  .site-footer__meta span + span::before { margin-right:12px; }
  .detail-overlay { padding:10px;align-items:end; }
  .detail-dialog { border-radius:18px 18px 11px 11px;padding:25px 21px;max-height:calc(100dvh - 18px); }
  .detail-dialog h2 { font-size:22px; }
}
@media (max-width: 370px) {
  .container { width:calc(100% - 34px); }
  .hero__name { font-size:36px; }
  .hero__title { font-size:18px; }
  .hero__actions .btn { font-size:11px;gap:6px; }
  .hero__visual { width:calc(100% + 34px);margin-left:-17px;margin-right:-17px; }
  .metric-card__number { font-size:31px; }
  .skill-panel h3 { white-space:normal; }
}
/* 触屏点击区、底部安全区和窄屏弹窗细节。 */
@media (max-width: 870px) {
  .mobile-toggle { min-width:44px;min-height:44px; }
  .mobile-nav { max-height:calc(100dvh - var(--header-height));overflow-y:auto;overscroll-behavior:contain; }
  .detail-dialog__close { width:44px;height:44px;top:15px;right:15px; }
  .detail-dialog { overscroll-behavior:contain; }
}
@media (max-width: 699px) {
  .site-footer { padding-bottom:max(22px,env(safe-area-inset-bottom)); }
  .detail-overlay { padding-bottom:max(10px,env(safe-area-inset-bottom)); }
}
