@media (min-width: 981px) and (max-width: 1120px) {
  .experience-entry { grid-template-columns: minmax(360px,.95fr) 64px minmax(390px,1.05fr); gap: 14px; }
  .experience-entry--right { grid-template-columns: minmax(390px,1.05fr) 64px minmax(360px,.95fr); }
  .experience-columns { grid-template-columns: 1fr; gap: 20px; }
  .experience-photos { min-height: 620px; }
}

@media (max-width: 980px) {
  :root { --content: min(calc(100% - 40px), 800px); }
  .hero { min-height: 860px; padding-left: 24px; padding-right: 24px; }
  .hero-words { top: 40%; width: 92vw; }
  .hero-word { font-size: clamp(70px, 15vw, 145px); line-height: .76; }
  .hero-word--outline { font-size: clamp(68px, 14.4vw, 140px); }
  .hero-portrait-wrap { bottom: 8%; width: min(58vw, 540px); height: 73%; }
  .hero-actions { bottom: 12%; }
  .hero-summary { display: none; }
  .scroll-cue { bottom: 3%; }

  .route-stage { min-height: 1120px; }
  .route-map { inset: 12% 0; width: 100%; height: 76%; opacity: .92; }
  .education-card { width: min(390px, 55vw); }
  .education-card--1 { top: 4%; left: 4%; }
  .education-card--2 { right: 4%; bottom: 4%; }

  .experience-timeline { gap: 110px; }
  .experience-entry, .experience-entry--right { grid-template-columns: 52px minmax(0, 1fr); gap: 18px; }
  .experience-entry .timeline-dot, .experience-entry--right .timeline-dot { grid-column: 1; grid-row: 1; align-self: start; margin-top: 24px; }
  .experience-entry .experience-card, .experience-entry--right .experience-card { grid-column: 2; grid-row: 1; }
  .experience-entry .experience-photos, .experience-entry--right .experience-photos { grid-column: 2; grid-row: 2; min-height: 470px; }
  .experience-entry--right .experience-photos { grid-column: 2; }

  .interest-collage { gap: 90px 34px; }
  .interest-card--dance, .interest-card--music { grid-column: 1; }
  .interest-card--perfume, .interest-card--fitness { grid-column: 2; margin-top: 70px; }
  .interest-images { height: clamp(390px,48vw,500px); }

  .guestbook-section { grid-template-columns: 1fr; }
  .approved-messages { grid-template-columns: 1fr; }
  .message-wall { grid-template-columns: repeat(3, 1fr); }
}

@media (max-width: 700px) {
  :root { --content: calc(100% - 28px); }
  body { font-size: 15px; }
  main > section { border-width: 8px; border-radius: 16px; }
  .section { padding: 96px 0; }
  .section-heading { width: var(--content); margin-bottom: 56px; }
  .section-heading--offset, .interests-intro { width: calc(100% - 28px); margin-left: 14px; }
  .section-heading h2, .interests-intro h2, .guestbook-heading h2 { font-size: clamp(44px, 15vw, 70px); line-height: .94; }

  .site-header { top: 8px; left: 8px; right: 8px; padding: 0; }
  .site-header.is-scrolled { top: 0; left: 0; right: 0; padding: 8px 10px; }
  .nav-shell, .site-header.is-scrolled .nav-shell { position: relative; width: 100%; min-height: 52px; grid-template-columns: 1fr auto auto; padding: 6px 7px 6px 14px; border-color: rgba(11,11,11,.14); border-radius: 10px; background: rgba(245,245,242,.92); box-shadow: 0 8px 24px rgba(0,0,0,.08); backdrop-filter: blur(18px); }
  .nav-brand { font-size: 17px; }
  .nav-menu-button { min-width: 44px; min-height: 44px; display: flex; align-items: center; gap: 8px; padding: 8px; border: 0; background: transparent; cursor: pointer; font-size: 13px; font-weight: 800; }
  .nav-links { position: absolute; top: 60px; left: 0; right: 0; display: grid; gap: 0; padding: 10px; border: 1px solid var(--line); border-radius: var(--radius); background: rgba(245,245,242,.97); box-shadow: var(--shadow-soft); opacity: 0; pointer-events: none; transform: translateY(-8px); transition: opacity .2s, transform .2s; }
  .nav-links.is-open { opacity: 1; pointer-events: auto; transform: translateY(0); }
  .nav-links a { padding: 12px; border-radius: 12px; }
  .nav-links a.is-active { background: var(--yellow-soft); }
  .nav-links a::after { display: none; }
  .nav-contact, .site-header.is-scrolled .nav-contact { min-height: 44px; padding: 8px 12px; border-radius: 0; }

  .hero { min-height: 100svh; border-width: 8px; border-radius: 16px; padding: 68px 14px 26px; align-items: start; }
  .hero-greeting { top: 11%; width: 92%; text-align: center; white-space: normal; }
  .hero-words { top: 28%; width: 96vw; }
  .hero-word { font-size: clamp(58px, 18.7vw, 84px); line-height: .8; letter-spacing: -.09em; }
  .hero-word--outline { font-size: clamp(54px, 17.3vw, 78px); }
  .hero-portrait-wrap { bottom: 8%; width: min(92vw, 430px); height: 67%; }
  .hero::after { left: 5%; right: 5%; bottom: 6%; height: 25%; }
  .hero-actions { bottom: 10.5%; gap: 7px; }
  .hero-button { min-width: 112px; min-height: 42px; padding: 8px 13px; font-size: 12px; }
  .scroll-cue { display: none; }

  .route-stage { min-height: 1320px; border-radius: 22px; }
  .route-map { top: 430px; right: -30%; bottom: auto; left: -30%; width: 160%; height: 455px; transform: none; }
  .route-map text { font-size: 16px; }
  .route-map .map-region-label { font-size: 48px; }
  .route-map .map-water-label { font-size: 9px; }
  .route-halo { stroke-width: 18; }
  .route-caption { display: none; }
  .education-card { width: calc(100% - 28px); }
  .education-card--1 { left: 14px; top: 20px; transform: rotate(-1deg); }
  .education-card--2 { right: 14px; bottom: 25px; transform: rotate(1deg); }
  .education-photo { height: 185px; }
  .school-logo { width: 48px; height: 48px; }
  .school-logo--crest { width: 52px; height: 52px; }
  .education-school-row { gap: 10px; }

  .experience-timeline { gap: 100px; }
  .experience-entry, .experience-entry--right { grid-template-columns: 36px minmax(0,1fr); gap: 8px; }
  .timeline-dot { width: 34px; height: 34px; box-shadow: 0 0 0 4px var(--paper); }
  .experience-card { padding: 22px 18px; }
  .experience-company-heading h3 { font-size: 34px; }
  .experience-logo-title { min-height: 52px; }
  .experience-logo-title--tencent img { width: 180px; }
  .experience-logo-title--netease img { width: 104px; max-height: 65px; }
  .experience-logo-title--shein img { width: 150px; }
  .experience-role { font-size: 13px; }
  .experience-summary { font-size: 13px; }
  .experience-columns { grid-template-columns: 1fr; gap: 18px; }
  .experience-photos { min-height: 430px !important; }
  .archive-photo { padding: 6px 6px 24px; }
  .archive-photo img { max-height: 250px; }
  .archive-photo--wide { width: 80%; }
  .archive-photo--landscape { width: 74%; }
  .archive-photo--portrait { width: 58%; }
  .experience-photos--4 { min-height: 475px !important; }
  .experience-photos--4 .archive-photo--1 { width: 79%; }
  .experience-photos--4 .archive-photo--2 { width: 55%; }
  .experience-photos--4 .archive-photo--3 { width: 70%; }
  .experience-photos--4 .archive-photo--4 { width: 77%; }
  .experience-company-heading { gap: 9px; }
  .experience-company-logo--tencent { width: 72px; height: 30px; }
  .experience-company-logo--netease { width: 45px; height: 34px; }
  .experience-company-logo--shein { width: 66px; height: 25px; }
  .experience-company-heading--qiye h3 { font-size: clamp(24px, 7.7vw, 31px); }
  .experience-company-text-title { font-size: clamp(28px,8.5vw,36px); }
  .highlight-list strong { font-size: 18px; }

  .interests-intro { width: calc(100% - 28px); margin-bottom: 70px; }
  .interests-intro svg { display: none; }
  .interest-collage { display: flex; width: 100%; overflow-x: auto; gap: 16px; padding: 0 14px 30px; scroll-snap-type: x mandatory; scrollbar-width: none; }
  .interest-collage::-webkit-scrollbar { display: none; }
  .interest-card, .interest-card--dance, .interest-card--perfume, .interest-card--music, .interest-card--fitness { flex: 0 0 min(86vw, 390px); margin: 0; scroll-snap-align: center; }
  .interest-images, .interest-card--perfume .interest-images, .interest-card--music .interest-images { height: 430px; min-height: 0; }
  .interest-copy h3 { font-size: clamp(32px,10.5vw,46px); }
  .easter-egg { width: calc(100% - 28px); margin-top: 42px; text-align: left; }

  .guestbook-section { padding-left: 14px; padding-right: 14px; gap: 38px; }
  .message-form { transform: none; padding: 22px 18px; }
  .form-row { align-items: stretch; flex-direction: column; }
  .message-stream-wrap { margin: 8px -14px 0; }
  .message-stream-heading { align-items: flex-start; flex-direction: column; gap: 4px; padding-left: 14px; padding-right: 14px; }
  .message-stream { height: 410px; }
  .message-float { max-width: 84vw; }
  .message-float span { max-width: 58vw; }
  .approved-messages { gap: 22px; margin-top: 22px; }
  .message-wall { display: flex; overflow-x: auto; gap: 14px; margin: 0 -14px; padding: 22px 14px 28px; scroll-snap-type: x mandatory; }
  .message-note { flex: 0 0 76vw; scroll-snap-align: center; }

  .contact-section { min-height: 980px; }
  .contact-content { width: calc(100% - 28px); padding: 90px 0 270px; }
  .contact-content h2 { font-size: clamp(52px, 15vw, 78px); line-height: .86; }
  .contact-content > p:not(.eyebrow) { margin: 24px auto; }
  .contact-links { grid-template-columns: 1fr; width: min(360px,100%); margin: auto; }
  .contact-chip strong { font-size: 13px; }
  .site-footer { left: 14px; right: 14px; grid-template-columns: 1fr auto; gap: 10px; }
  .site-footer p { grid-column: 1 / -1; grid-row: 2; text-align: left; }
  .site-footer a { grid-column: 2; grid-row: 1; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
  [data-reveal] { opacity: 1; transform: none; }
  .route-path, .timeline-line path { stroke-dashoffset: 0; }
  .route-node, .plane { opacity: 1; transform: none; }
}
