/* Hanwen photographic hero | Five original photographs, separate editorial copy. */
.hanwen-home-hero { background:#efefef; color:#302820; width:100%; }
.hanwen-home-hero, .hanwen-home-hero * { box-sizing:border-box; }
.hanwen-home-hero__inner { width:calc(100% - 80px); max-width:1580px; margin:0 auto; padding:54px 0 48px; }

/* Desktop: two tall pictures, one wide picture, two smaller pictures. */
.hanwen-home-hero__photos { display:grid; width:100%; min-width:0; height:clamp(420px,34vw,540px); grid-template-columns:minmax(0,1.14fr) minmax(0,1.14fr) minmax(0,.92fr) minmax(0,.92fr); grid-template-rows:repeat(2,minmax(0,1fr)); gap:12px; }
.hanwen-home-hero__tile { position:relative; min-width:0; min-height:0; border-radius:8px; overflow:hidden; background:#d5d1c9; isolation:isolate; }
.hanwen-home-hero__tile picture, .hanwen-home-hero__tile img { display:block; width:100%; height:100%; }
.hanwen-home-hero__tile img { object-fit:cover; transition:transform .35s ease; }
@media (hover:hover) and (prefers-reduced-motion:no-preference) { .hanwen-home-hero__tile:hover img { transform:scale(1.025); } }
.hanwen-home-hero__tile--forest { grid-column:1; grid-row:1/3; }
.hanwen-home-hero__tile--second { grid-column:2; grid-row:1/3; }
.hanwen-home-hero__tile--gate { grid-column:3/5; grid-row:1; }
.hanwen-home-hero__tile--leaves { grid-column:3; grid-row:2; }
.hanwen-home-hero__tile--tree { grid-column:4; grid-row:2; }
.hanwen-home-hero__tile--forest img { object-position:52% 55%; }
.hanwen-home-hero__tile--second img { object-position:50% 50%; }
.hanwen-home-hero__tile--gate img { object-position:50% 29%; }
.hanwen-home-hero__tile--leaves img { object-position:74% 48%; }
.hanwen-home-hero__tile--tree img { object-position:52% 39%; }
.hanwen-home-hero__photo-label { position:absolute; bottom:14px; left:14px; padding:6px 9px; background:rgba(41,37,32,.58); border-radius:3px; color:white; font:500 11px/1.4 'Noto Sans SC','Noto Sans TC','PingFang SC',sans-serif; white-space:nowrap; max-width:calc(100% - 28px); overflow:hidden; text-overflow:ellipsis; }

/* A quiet editorial text block below the photographs. */
.hanwen-home-hero__copy { max-width:1260px; margin:42px auto 0; display:grid; grid-template-columns:minmax(250px,.8fr) minmax(0,1.4fr); align-items:start; gap:clamp(24px,4vw,76px); }
.hanwen-home-hero__copy-lead { min-width:0; }
body .hanwen-home-hero .hanwen-home-hero__eyebrow { font-family:Arial,sans-serif!important; font-size:12px!important; font-weight:500!important; letter-spacing:.12em!important; line-height:1.4!important; color:#9e8067!important; margin:0 0 15px!important; }
body .hanwen-home-hero .hanwen-home-hero__title { font-family:'Noto Sans SC','Noto Sans TC','PingFang SC','Microsoft YaHei',sans-serif!important; font-size:clamp(28px,2.5vw,39px)!important; font-weight:600!important; letter-spacing:-.025em!important; line-height:1.43!important; color:#302820!important; margin:0!important; }
.hanwen-home-hero__copy-content { min-width:0; }
body .hanwen-home-hero .hanwen-home-hero__description { font-family:'Noto Sans SC','Noto Sans TC','PingFang SC','Microsoft YaHei',sans-serif!important; color:#74695e!important; font-size:clamp(14px,1.05vw,16px)!important; font-weight:400!important; line-height:1.9!important; margin:0!important; }
body .hanwen-home-hero .hanwen-home-hero__description p { font:inherit!important; color:inherit!important; line-height:inherit!important; margin:0 0 9px!important; }
body .hanwen-home-hero .hanwen-home-hero__description p:last-child { margin-bottom:0!important; }
body .hanwen-home-hero .hanwen-home-hero__button { display:inline-flex; align-items:center; gap:10px; padding:10px 0 6px; margin-top:17px; font-family:'Noto Sans SC','Noto Sans TC','PingFang SC',sans-serif!important; font-size:14px!important; font-weight:600!important; line-height:1.5!important; color:#302820!important; text-decoration:none!important; border-bottom:1px solid currentColor; background:transparent!important; min-height:0; width:auto; }
body .hanwen-home-hero .hanwen-home-hero__button:hover { color:#96785e!important; }
.hanwen-home-hero__button:focus-visible { outline:2px solid #806d58; outline-offset:4px; }
.hanwen-home-hero__button-arrow { font-size:18px; line-height:1; }

@media (max-width:1000px) and (min-width:768px) {
  .hanwen-home-hero__inner { width:calc(100% - 52px); padding:40px 0 43px; }
  .hanwen-home-hero__photos { height:clamp(350px,48vw,465px); gap:9px; }
  .hanwen-home-hero__copy { margin-top:30px; grid-template-columns:minmax(220px,.9fr) 1.4fr; gap:25px; }
}

/* Mobile: big portrait left, two stacked right, two landscape photos below. */
@media (max-width:767px) {
  .hanwen-home-hero__inner { width:calc(100% - 28px); padding:22px 0 31px; }
  .hanwen-home-hero__photos { height:clamp(340px,99vw,406px); grid-template-columns:minmax(0,1.25fr) minmax(0,1fr); grid-template-rows:minmax(0,1fr) minmax(0,1fr) minmax(0,.93fr); gap:7px; }
  .hanwen-home-hero__tile { border-radius:5px; }
  .hanwen-home-hero__tile--forest { grid-column:1; grid-row:1/3; }
  .hanwen-home-hero__tile--gate { grid-column:2; grid-row:1; }
  .hanwen-home-hero__tile--second { grid-column:2; grid-row:2; }
  .hanwen-home-hero__tile--leaves { grid-column:1; grid-row:3; }
  .hanwen-home-hero__tile--tree { grid-column:2; grid-row:3; }
  .hanwen-home-hero__tile--forest img { object-position:56% 57%; }
  .hanwen-home-hero__tile--gate img { object-position:55% 51%; }
  .hanwen-home-hero__tile--second img { object-position:50% 48%; }
  .hanwen-home-hero__tile--leaves img { object-position:60% 50%; }
  .hanwen-home-hero__tile--tree img { object-position:55% 47%; }
  .hanwen-home-hero__photo-label { display:none; }
  .hanwen-home-hero__copy { display:block; margin:27px 2px 0; }
  body .hanwen-home-hero .hanwen-home-hero__eyebrow { font-size:11px!important; margin-bottom:10px!important; }
  body .hanwen-home-hero .hanwen-home-hero__title { font-size:clamp(24px,6.6vw,29px)!important; line-height:1.44!important; margin:0 0 13px!important; }
  body .hanwen-home-hero .hanwen-home-hero__description { font-size:14px!important; line-height:1.84!important; }
  body .hanwen-home-hero .hanwen-home-hero__button { margin-top:11px; font-size:14px!important; }
}
@media (max-width:350px) {
  .hanwen-home-hero__inner { width:calc(100% - 24px); }
  .hanwen-home-hero__photos { height:335px; gap:6px; }
  body .hanwen-home-hero .hanwen-home-hero__title { font-size:23px!important; }
}
@media (prefers-reduced-motion:reduce) { .hanwen-home-hero__tile img { transition:none; } }
