/* 行謙牙醫｜首頁版面（參考樂的牙醫首頁的區塊順序） */
.hm-wrap{max-width:1120px;margin:0 auto;padding:0 32px}
.hm-sec{padding:96px 0}
.hm-head{text-align:center;margin-bottom:52px}
.hm-head .eyebrow{display:block;margin-bottom:12px}
.hm-head h2{font-size:32px}
.hm-head::after{content:"";display:block;width:150px;height:44px;margin:8px auto 0;background:url(/wp-content/uploads/gw/brush-h.png) center/contain no-repeat}
.hm-hero{display:grid;grid-template-columns:1.05fr .95fr;min-height:600px}
.hm-hero-text{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:80px 5vw 80px max(32px,calc((100vw - 1120px)/2 + 32px))}
.hm-hero h1{font-size:clamp(40px,5.4vw,64px);line-height:1.3;margin:14px 0 8px}
.hm-sub{font-family:"Noto Serif TC",serif;letter-spacing:.25em;color:var(--ink-soft);font-size:17px;margin:0 0 22px}
.hm-tags{display:flex;flex-wrap:wrap;gap:6px 0;font-family:"Noto Serif TC",serif;font-size:15px;color:var(--blush-deep);margin-bottom:24px}
.hm-tags span:not(:last-child)::after{content:"｜";margin:0 12px;color:var(--blush-line)}
.hm-desc{max-width:480px;color:var(--ink-soft);margin:0 0 34px}
.hm-cta{display:flex;gap:14px;flex-wrap:wrap}
.hm-hero-art{background:url(/wp-content/uploads/gw/hm-hero.jpg) center/cover no-repeat;min-height:420px}
.hm-info{background:var(--b-mist)}
.hm-info .hm-wrap{display:grid;grid-template-columns:repeat(5,1fr)}
.hm-info svg{width:14px;height:14px;fill:currentColor;vertical-align:-1px;margin-right:6px}
.hm-info a,.hm-info div{display:block;padding:26px 22px;border-left:1px solid var(--blush-line);color:inherit}
.hm-info .hm-wrap>:first-child{border-left:0}
.hm-info small,.hm-tile small{display:block;font-family:"EB Garamond",serif;font-style:italic;letter-spacing:.15em;text-transform:uppercase;color:var(--blush-deep);font-size:12px}
.hm-info b{display:block;margin-top:4px;font-family:"Noto Serif TC",serif;font-weight:600;font-size:16px;letter-spacing:.03em}
.hm-about{overflow:hidden}
.hm-about .hm-wrap{display:grid;grid-template-columns:.8fr 1.2fr;gap:56px;align-items:center}
.hm-mark{font-family:"Noto Serif TC",serif;font-weight:700;font-size:min(32vw,320px);line-height:1;text-align:center;color:rgba(140,128,113,.18)}
.hm-about h2{font-size:32px;margin:10px 0 0}
.hm-line{width:150px;height:44px;margin:4px 0 12px;background:url(/wp-content/uploads/gw/brush-h.png) left center/contain no-repeat}
.hm-about p{color:var(--ink-soft);font-size:15.5px}
.hm-more{display:inline-block;margin-top:14px;padding-bottom:3px;border-bottom:1px solid var(--blush-deep);letter-spacing:.12em;font-size:14px}
.hm-treat{background:var(--cream-deep)}
.hm-tgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.hm-tc{display:block;padding:30px 26px 26px;border-radius:6px;background:var(--b-mist);color:inherit;transition:transform .3s}
.hm-tc:nth-child(3n+2){background:#E5DEDA}
.hm-tc:nth-child(3n){background:var(--b-sage)}
.hm-tc:hover{transform:translateY(-4px)}
.hm-tc span{display:none;font-family:"EB Garamond",serif;font-style:italic;color:var(--blush-deep);font-size:14px}
.hm-tc h3{font-size:19px;margin:8px 0 10px}
.hm-tc p{font-size:13.5px;color:var(--ink-soft);margin:0 0 14px;line-height:1.8}
.hm-tc em{font-style:normal;font-size:13px;letter-spacing:.1em}
.hm-tstrip{display:grid;grid-template-columns:repeat(6,1fr);gap:22px 14px}
.hm-tm{display:block;text-align:center;color:inherit}
.hm-ph{aspect-ratio:3/4;border-radius:6px;overflow:hidden;background:var(--blush)}
.hm-ph img{width:100%;height:100%;object-fit:cover;object-position:top;display:block;transition:transform .5s}
.hm-tm:hover .hm-ph img{transform:scale(1.04)}
.hm-tm h3{font-size:15px;margin:10px 0 2px}
.hm-tm p{font-size:11.5px;color:var(--ink-soft);margin:0;line-height:1.5}
.hm-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:28px}
.hm-st{padding-top:22px;border-top:1px solid var(--blush-line)}
.hm-st i{display:block;font-style:normal;font-family:"EB Garamond",serif;font-size:42px;line-height:1;color:var(--b-taupe);margin-bottom:12px}
.hm-st h3{font-size:19px;margin:0 0 8px}
.hm-st p{font-size:14px;color:var(--ink-soft);margin:0}
.quote-band blockquote{text-wrap:balance}
.hm-tiles{display:grid;grid-template-columns:repeat(5,1fr);border-top:1px solid var(--blush-line)}
.hm-tile{display:block;padding:44px 24px;text-align:center;border-left:1px solid var(--blush-line);color:inherit;transition:background .3s}
.hm-tile:first-child{border-left:0}
.hm-tile:hover{background:var(--b-mist)}
.hm-tile b{display:block;margin-top:8px;font-family:"Noto Serif TC",serif;font-size:20px;letter-spacing:.1em}
@media(max-width:900px){.hm-tgrid{grid-template-columns:repeat(2,1fr)}.hm-tstrip{grid-template-columns:repeat(4,1fr)}.hm-steps{grid-template-columns:repeat(2,1fr)}}
@media(max-width:820px){
  .hm-sec{padding:64px 0}
  .hm-hero{grid-template-columns:1fr}.hm-hero-text{padding:52px 28px 40px}.hm-hero-art{min-height:300px}
  .hm-info .hm-wrap{grid-template-columns:repeat(2,1fr)}.hm-info .hm-wrap>:nth-child(odd){border-left:0}.hm-info .hm-wrap>:last-child{grid-column:1/-1;border-top:1px solid var(--blush-line)}
  .hm-about .hm-wrap{grid-template-columns:1fr;gap:8px}.hm-mark{font-size:140px}
  .hm-tiles{grid-template-columns:repeat(2,1fr)}.hm-tile:nth-child(odd){border-left:0}.hm-tile:last-child{grid-column:1/-1}
}
@media(max-width:560px){.hm-tgrid{grid-template-columns:1fr}.hm-tstrip{grid-template-columns:repeat(3,1fr)}.hm-steps{grid-template-columns:1fr}}
.hm-info .hm-soc b{display:flex;flex-wrap:wrap;gap:6px 16px;margin-top:6px}
.hm-info .hm-soc a{display:inline-flex;align-items:center;padding:0;border:0;font-family:"Noto Serif TC",serif;font-weight:600;font-size:15px;border-bottom:1px solid transparent}
.hm-info .hm-soc a:hover{border-bottom-color:var(--blush-deep)}
.hm-info .hm-soc svg{width:15px;height:15px;margin-right:6px}

/* 首頁：最新消息 */
.hm-news{padding:64px 0 24px}
.hm-newsgrid{display:grid;grid-template-columns:240px 1fr;gap:48px;align-items:start}
.hm-newshead .eyebrow{display:block;margin-bottom:8px}
.hm-newshead h2{font-size:30px;margin:0}
.hm-newslist{border-top:1px solid var(--blush-line)}
.gw-nrow{display:flex;gap:28px;align-items:baseline;padding:18px 4px;border-bottom:1px solid var(--blush-line)}
.gw-nrow time{flex:none;font-family:"EB Garamond",serif;font-style:italic;letter-spacing:.06em;color:var(--label,#6B5F55);font-size:15px}
.gw-nrow span{font-size:16.5px;line-height:1.7}
.hm-newsmore{text-align:right;margin:18px 0 0}
@media(hover:hover) and (pointer:fine){.gw-nrow:hover span{color:var(--gold,#8A6440)}}
@media(max-width:820px){.hm-newsgrid{grid-template-columns:1fr;gap:18px}.hm-news{padding:48px 0 12px}.gw-nrow{flex-direction:column;gap:2px;padding:14px 2px}}

/* 首頁資訊列 v2：4 格（看診時間／交通方式／聯絡資訊／追蹤我們），整格可點 */
.hm-info-v2 .hm-wrap{grid-template-columns:1fr 1.2fr 1.3fr 1fr}
.hm-info-v2 .hm-wrap>a{transition:background .25s}
.hm-info-v2 .hm-wrap>a:hover{background:rgba(255,255,255,.35)}
.hm-info-v2 .hm-ct .ct-row{display:flex;flex-direction:column;gap:2px;margin-top:6px}
.hm-info-v2 .hm-ct .ct-row a{display:block;padding:8px 0;border:0;font-family:"Noto Serif TC",serif;font-weight:600;font-size:16px}
.hm-info-v2 .hm-ct .ct-row a:hover{color:var(--gold)}
@media(max-width:820px){
  .hm-hero .hm-cta{display:none}
  .hm-info-v2 .hm-wrap{grid-template-columns:1fr}
  .hm-info-v2 .hm-wrap>*{grid-column:auto!important;border-left:0!important}
  .hm-info-v2 .hm-wrap>:not(:first-child){border-top:1px solid var(--blush-line)}
}

/* 電腦版診療項目：縮編精簡（4 欄、小內距、整張卡可點故不放「了解更多」） */
@media(min-width:821px){
  .hm-treat{padding:72px 0}
  .hm-treat .hm-head{margin-bottom:34px}
  .hm-tgrid{grid-template-columns:repeat(4,1fr);gap:14px}
  .hm-tc{padding:20px 20px 18px}
  .hm-tc h3{font-size:17px;margin:0 0 6px}
  .hm-tc p{font-size:13px;line-height:1.7;margin:0}
  .hm-tc em{display:none}
  .hm-tc:nth-child(3n+2),.hm-tc:nth-child(3n){background:var(--b-mist)}
  .hm-tc:nth-child(even){background:#E5DEDA}
}

/* 診療項目卡片右上角小圖示 */
.hm-tc{position:relative}
.hm-tc .tc-ic{position:absolute;top:16px;right:16px;width:30px;height:30px;display:block;color:var(--blush-deep);opacity:.85}
.hm-tc .tc-ic svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}
.hm-tc h3{padding-right:38px}
.hm-tc:hover .tc-ic{color:var(--gold);opacity:1}
@media(max-width:820px){
  .hm-tc .tc-ic{width:40px;height:40px;top:18px;right:18px}
  .hm-tc h3{padding-right:52px}
}

/* 電腦版醫療團隊：照片縮小，兩排整區變矮 */
@media(min-width:901px){
  .hm-team{padding:72px 0}
  .hm-team .hm-head{margin-bottom:32px}
  .hm-tstrip{max-width:960px;margin-left:auto;margin-right:auto;gap:18px 14px}
  .hm-tstrip .hm-ph{aspect-ratio:1/1}
  .hm-tm h3{margin:8px 0 2px}
}

/* 診療項目卡片：同一排、整個格子大小一致 */
@media(min-width:561px){.hm-tgrid{grid-auto-rows:1fr;align-items:stretch}.hm-tgrid .hm-tc{height:100%;box-sizing:border-box}}
/* 首頁資訊列（看診時間／交通方式／聯絡方式／追蹤我們）：電腦版讓四欄第一行文字、行距、圖示完全對齊 */
@media(min-width:821px){
  .hm-info-v2 .hm-wrap>a>b,.hm-info-v2 .hm-wrap>.hm-ct .ct-row,.hm-info-v2 .hm-wrap>.hm-soc b{margin-top:4px}
  .hm-info-v2 .hm-ct .ct-row{display:flex;flex-direction:column;gap:6px}
  .hm-info-v2 .hm-ct .ct-row a{display:flex;align-items:center;padding:0;min-height:0;line-height:30.4px}
  .hm-info .hm-soc b{display:flex;flex-direction:column;flex-wrap:nowrap;gap:6px}
  .hm-info .hm-soc a{padding:0;min-height:0;line-height:30.4px}
  .hm-info-v2 .hm-ct svg,.hm-info .hm-soc svg{width:15px;height:15px;margin-right:8px;flex:none}
}
@media(min-width:821px){
  .hm-info-v2 .hm-ct .ct-row a,.hm-info .hm-soc b a{height:30.4px;box-sizing:border-box}
}
