/* Zhao Huayong — Chinese formal edition preview refinements */
:root { --zhy-ink:#1e1d19; --zhy-paper:#ece7db; --zhy-gold:#b4915f; }
html { scroll-behavior:smooth; }
img { max-width:100%; }

/* Final typography: strong Source Han Serif headings, clear Source Han Sans body.
   The local fallbacks make the same hierarchy work on Windows, macOS and mobile. */
body, button, input, textarea, select {
  font-family:"Source Han Sans SC","Noto Sans CJK SC","PingFang SC","Microsoft YaHei",Arial,sans-serif !important;
  font-weight:400;
}
.section__title, .home-hero h1, h1, h2 {
  font-family:"Source Han Serif SC","Noto Serif CJK SC","Songti SC","STSong","SimSun",serif !important;
  font-weight:600 !important;
  letter-spacing:.012em;
  text-wrap:balance;
}
.project-card__content h3, .portrait-signature, .honor b, .timeline-item h3, .method-list h3 {
  font-family:"Source Han Serif SC","Noto Serif CJK SC","Songti SC","STSong","SimSun",serif !important;
  font-weight:600 !important;
}
.project-card__content p, .project-note, .final-copy-note, .timeline-item p, .method-list p, .honor p {
  font-family:"Source Han Sans SC","Noto Sans CJK SC","PingFang SC","Microsoft YaHei",Arial,sans-serif !important;
  font-size:16px;
  line-height:1.8;
}
.project-card__content p { font-size:14px; line-height:1.55; }
.final-copy-note { max-width:780px; margin-top:22px; white-space:pre-line; }
.section--ink .final-copy-note { color:rgba(255,255,255,.76); }
.work-intro { max-width:690px; margin-bottom:30px; }
.project-card__image { background:#24231f; overflow:hidden; isolation:isolate; }
.project-card__image img { width:100%; height:100%; min-height:100%; object-fit:cover; object-position:center; display:block; transition:transform .7s cubic-bezier(.2,.7,.2,1), opacity .35s ease; }
.project-card:hover .project-card__image img { transform:scale(1.045); }
.project-card__image img.is-loading { opacity:.4; }
.project-card__image img.is-ready { opacity:1; }
.project-card__image .image-fallback { display:grid; place-items:end start; min-height:100%; padding:20px; color:#f4efe5; font-size:12px; letter-spacing:.12em; background:linear-gradient(145deg,#2a2925,#171714); }

/* Keep every gallery image visible, quick to decode and pleasant to browse. */
.gallery { gap:18px !important; }
.gallery figure { background:#ece8de; overflow:hidden; margin:0; }
.gallery figure img { display:block; width:100%; height:auto; content-visibility:auto; contain-intrinsic-size:800px 1000px; cursor:zoom-in; transition:transform .45s ease, filter .3s ease; }
.gallery figure:hover img { transform:scale(1.012); filter:brightness(1.025); }

/* Signature and professional identity on the portrait, without changing the hero photo. */
.designer-stamp { position:absolute; z-index:4; right:clamp(24px,5vw,84px); bottom:clamp(30px,6vw,96px); display:grid; gap:5px; color:#fff; text-align:right; text-shadow:0 2px 12px rgba(0,0,0,.48); pointer-events:none; }
.designer-stamp__sign { font-family:"STKaiti","KaiTi","FZKai-Z03",cursive; font-size:clamp(34px,4vw,64px); font-weight:400; line-height:.85; transform:rotate(-4deg); }
.designer-stamp__role { max-width:230px; margin-left:auto; padding-top:8px; border-top:1px solid rgba(255,255,255,.55); font-size:10px; letter-spacing:.13em; line-height:1.55; }
.portrait-block__image { position:relative; }
.portrait-block__image::after { content:"赵华勇  /  ZHAO HUAYONG"; position:absolute; left:18px; bottom:16px; padding:8px 10px; background:rgba(18,18,16,.72); color:#fff; font-size:10px; letter-spacing:.16em; }

/* Contact: two complete, uncropped QR cards. */
.qr-contact-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; align-items:start; margin-top:28px; }
.qr-contact-grid .qr-card { min-width:0; margin:0; }
.qr-contact-grid .qr-card img { display:block; width:min(100%,320px); height:auto; object-fit:contain; object-position:center; background:#fff; margin:0 auto 12px; }
.qr-contact-grid--home { max-width:700px; margin:38px 0 0; }
.qr-contact-grid--home .qr-card { padding:16px; background:rgba(255,255,255,.06); }
.qr-contact-grid--home .qr-card--wechat img { max-height:380px; width:auto; }
.qr-contact-grid--home .qr-card--xhs img { width:min(100%,300px); }
.qr-card__label { display:block; margin:0 0 7px; color:var(--zhy-gold); font-size:10px; letter-spacing:.17em; text-transform:uppercase; }

/* Modal for detail-page photographs */
.zhy-lightbox { position:fixed; inset:0; z-index:9999; display:none; align-items:center; justify-content:center; padding:22px; background:rgba(12,12,10,.92); }
.zhy-lightbox.is-open { display:flex; }
.zhy-lightbox img { display:block; max-width:min(94vw,1200px); max-height:90vh; width:auto; height:auto; object-fit:contain; box-shadow:0 20px 70px rgba(0,0,0,.5); }
.zhy-lightbox button { position:absolute; top:18px; right:24px; border:0; background:transparent; color:#fff; font-size:36px; cursor:pointer; line-height:1; }

@media (max-width:700px) {
  .project-card__image { aspect-ratio:1/1.17; }
  .project-card__image img { object-position:center; }
  .gallery { gap:10px !important; }
  .designer-stamp { right:18px; bottom:24px; }
  .designer-stamp__sign { font-size:38px; }
  .designer-stamp__role { max-width:130px; font-size:8px; }
  .qr-contact-grid { grid-template-columns:1fr; gap:28px; }
  .qr-contact-grid .qr-card img { width:min(100%,280px); }
}
/* Static revision: section 7 / 8 content and complete contact codes */
.study-copy p { margin:0 0 14px; }
.study-copy p:last-child { margin-bottom:0; }
.contact-copy { max-width:720px; margin-top:18px; }
.contact-cta .qr-contact-grid--home { margin-bottom:8px; }
.contact-cta .qr-card p { font-size:13px; line-height:1.7; }
