/*
Theme Name: 和昌建設官方網站
Theme URI: https://hercheng.com.tw/
Author: 和昌建設有限公司
Description: 和昌建設專用單頁式響應式官方網站佈景。
Version: 5.0.0
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: hercheng
*/

:root{--ink:#1b211e;--forest:#24342f;--ivory:#f3eee4;--paper:#faf8f2;--gold:#b58a45;--line:#d9d1c3;--muted:#6d706d}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:"Noto Sans TC","PingFang TC","Microsoft JhengHei",sans-serif}a{color:inherit;text-decoration:none}img{max-width:100%;height:auto}.hc-header{height:88px;padding:0 clamp(24px,4.5vw,68px);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(36,52,47,.18);position:absolute;top:0;left:0;right:0;z-index:20}.hc-logo img{display:block;width:210px;filter:invert(1)}.hc-nav{display:flex;align-items:center;gap:38px;font-size:17px;font-weight:500;letter-spacing:.1em}.hc-nav ul{display:flex;gap:38px;list-style:none;margin:0;padding:0}.hc-nav a{position:relative}.hc-nav a:after{content:"";position:absolute;left:0;right:100%;bottom:-8px;height:1px;background:var(--gold);transition:right .25s}.hc-nav a:hover:after{right:0}.hc-menu{display:none;border:0;background:transparent;width:44px;height:44px;padding:10px}.hc-menu span{display:block;height:1px;background:var(--ink);margin:7px 0}.hc-hero{min-height:900px;display:grid;grid-template-columns:42% 58%;padding-top:88px;background:var(--ivory);position:relative}.hc-hero-copy{padding:clamp(130px,13vw,205px) 8vw 80px clamp(40px,5vw,74px)}.eyebrow{font-size:11px;font-weight:600;letter-spacing:.22em;color:var(--gold);margin:0 0 30px}.hc-hero h1,.hc-section h2{font-family:"Noto Serif TC","Songti TC",serif;font-weight:400}.hc-hero h1{font-size:clamp(48px,5.2vw,78px);line-height:1.28;letter-spacing:.04em;margin:0;white-space:nowrap}.hc-lead{max-width:470px;color:#555b57;font-family:"Noto Serif TC",serif;font-size:17px;line-height:2;margin:38px 0 46px}.hc-actions{display:flex;align-items:center;gap:42px}.hc-button{display:inline-flex;align-items:center;justify-content:space-between;gap:38px;padding:20px 25px;min-width:210px;font-size:14px;letter-spacing:.14em}.hc-primary{background:var(--forest);color:#fff;border:1px solid var(--gold)}.hc-text-link{padding:16px 0;border-bottom:1px solid var(--gold);font-size:14px;letter-spacing:.12em}.hc-hero-image{background:linear-gradient(90deg,rgba(243,238,228,.22),transparent 24%),url('assets/images/hero.webp') 46% center/cover no-repeat}.hc-section{padding:120px clamp(24px,5vw,76px)}.hc-heading{display:grid;grid-template-columns:1fr 1fr;align-items:end;gap:50px;margin-bottom:72px}.hc-heading h2{font-size:clamp(42px,5vw,68px);margin:0}.hc-heading>p{max-width:550px;color:var(--muted);line-height:2;margin:0}.hc-project{display:grid;grid-template-columns:58% 42%;border-top:1px solid var(--line);min-height:520px}.hc-project+.hc-project{margin-top:80px}.hc-project.reverse{grid-template-columns:42% 58%}.hc-project.reverse .hc-project-image{order:2}.hc-project-image{min-height:480px;background-position:center;background-size:cover;position:relative}.hc-project-image.leju{background-image:url('assets/images/leju-ii.webp')}.hc-project-image.fengcai{background-color:#eee9df;background-image:url('assets/images/fengcai-ii.webp');background-size:contain;background-repeat:no-repeat}.hc-photo-label{position:absolute;right:14px;bottom:12px;background:rgba(27,33,30,.72);color:#fff;padding:5px 8px;font-size:10px;letter-spacing:.12em}.hc-project-info{padding:48px clamp(30px,4vw,64px);display:flex;flex-direction:column;justify-content:space-between;background:#fff}.hc-project-top{display:flex;justify-content:space-between;align-items:center;font-size:13px}.hc-project-top p{color:var(--muted)}.hc-tag{color:var(--gold);border:1px solid var(--gold);padding:7px 10px;letter-spacing:.1em}.hc-project h3{font-family:"Noto Serif TC",serif;font-size:clamp(36px,4vw,56px);font-weight:400;margin:20px 0}.hc-project-copy{line-height:2;color:var(--muted)}.hc-project-meta{display:flex;justify-content:space-between;align-items:flex-end;border-top:1px solid var(--line);padding-top:30px}.hc-project-meta strong{font-family:"Noto Serif TC",serif;font-size:42px;font-weight:400}.hc-project-meta small{font-size:14px}.hc-project-meta a{border-bottom:1px solid var(--gold);padding-bottom:8px}.hc-about{background:var(--ivory);display:grid;grid-template-columns:27% 73%;gap:40px}.hc-about-side{display:flex;flex-direction:column;justify-content:space-between;border-right:1px solid var(--line);font-size:14px;letter-spacing:.15em}.hc-about-side b{font-family:serif;color:var(--gold);font-size:64px;font-weight:400}.hc-about-copy{padding-left:5vw;max-width:1000px}.hc-about h2{font-size:clamp(42px,5vw,70px);line-height:1.45;margin:0 0 42px}.hc-about-copy>p:not(.eyebrow){max-width:680px;line-height:2.1;color:var(--muted)}.hc-values{display:grid;grid-template-columns:repeat(3,1fr);margin-top:74px;border-top:1px solid var(--line)}.hc-values div{padding:26px 24px 0 0;display:flex;flex-direction:column;gap:10px}.hc-values strong{font-family:"Noto Serif TC",serif;font-size:25px;font-weight:400}.hc-values span{font-size:13px;color:var(--muted)}.hc-services{background:var(--forest);color:#fff}.hc-heading.light>p{color:#bdc5c1}.hc-service-grid{display:grid;grid-template-columns:repeat(4,1fr);border-block:1px solid rgba(255,255,255,.25)}.hc-service{min-height:320px;padding:34px 28px;border-right:1px solid rgba(255,255,255,.25)}.hc-service:last-child{border:0}.hc-service>span{color:var(--gold);font-family:serif}.hc-service h3{font-family:"Noto Serif TC",serif;font-size:25px;font-weight:400;margin:90px 0 18px}.hc-service p{color:#bec7c2;font-size:14px;line-height:1.9}.hc-contact{text-align:center}.hc-contact h2{font-size:clamp(45px,6vw,82px);line-height:1.35;margin:0 0 30px}.hc-contact>p:not(.eyebrow){color:var(--muted)}.hc-phone{display:inline-flex;gap:40px;align-items:center;font-family:serif;font-size:clamp(28px,3.5vw,46px);margin-top:40px;padding-bottom:12px;border-bottom:1px solid var(--gold)}.hc-contact address{margin-top:28px;font-style:normal;color:var(--muted);line-height:1.9;font-size:14px}.hc-footer{padding:60px clamp(24px,5vw,76px);background:#171c19;color:#e8e4da;display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:40px;align-items:end}.hc-footer img{width:280px}.hc-footer p{font-size:12px;line-height:1.9;color:#aeb4b0;margin:0}
@media(max-width:900px){.hc-header{height:72px}.hc-logo img{width:175px}.hc-menu{display:block;z-index:22}.hc-nav{display:none;position:absolute;top:0;left:0;right:0;background:var(--ivory);padding:100px 32px 36px;font-size:19px}.hc-nav.open{display:block}.hc-nav ul{flex-direction:column;gap:30px}.hc-hero{display:flex;flex-direction:column;padding-top:72px;min-height:auto}.hc-hero-image{height:58vh;min-height:420px;order:-1}.hc-hero-copy{padding:75px 24px 60px}.hc-hero h1{font-size:clamp(42px,11vw,62px);white-space:normal}.hc-section{padding:82px 24px}.hc-heading{grid-template-columns:1fr;gap:24px;margin-bottom:45px}.hc-project,.hc-project.reverse{grid-template-columns:1fr}.hc-project.reverse .hc-project-image{order:0}.hc-project-image{min-height:340px}.hc-project-info{min-height:430px;padding:34px 26px}.hc-about{grid-template-columns:1fr}.hc-about-side{display:none}.hc-about-copy{padding:0}.hc-values{grid-template-columns:1fr}.hc-values div{border-bottom:1px solid var(--line);padding:20px 0}.hc-service-grid{grid-template-columns:1fr 1fr}.hc-service:nth-child(2){border-right:0}.hc-footer{grid-template-columns:1fr;align-items:start}.hc-actions{flex-wrap:wrap}}
@media(max-width:540px){.hc-logo img{width:150px}.hc-hero-image{min-height:340px}.hc-actions{align-items:flex-start;flex-direction:column}.hc-service-grid{grid-template-columns:1fr}.hc-service{border-right:0;border-bottom:1px solid rgba(255,255,255,.25)}.hc-project-meta strong{font-size:34px}}

.hc-slider{position:relative;overflow:hidden;background:var(--ivory)}.hc-slide{display:none;min-height:900px;grid-template-columns:42% 58%;padding-top:88px}.hc-slide.active{display:grid;animation:hcFade .55s ease}.hc-slide-image{background-position:center;background-size:cover;min-height:640px}.hc-slider-controls{position:absolute;right:clamp(24px,4vw,60px);bottom:32px;z-index:5;display:flex;align-items:center;gap:14px;background:rgba(27,33,30,.8);padding:10px 14px;color:#fff}.hc-slider-arrow{border:0;background:transparent;color:#fff;font-size:24px;cursor:pointer;padding:4px 8px}.hc-slider-dots{display:flex;gap:8px}.hc-slider-dot{width:8px;height:8px;border:1px solid #fff;border-radius:50%;background:transparent;padding:0;cursor:pointer}.hc-slider-dot.active{background:var(--gold);border-color:var(--gold)}.hc-project{transition:transform .35s ease,box-shadow .35s ease}.hc-project:hover{transform:translateY(-4px);box-shadow:0 18px 50px rgba(27,33,30,.1)}@keyframes hcFade{from{opacity:.35}to{opacity:1}}
@media(max-width:900px){.hc-slide,.hc-slide.active{display:none;flex-direction:column;padding-top:72px;min-height:auto}.hc-slide.active{display:flex}.hc-slide-image{height:58vh;min-height:420px;order:-1}.hc-slider-controls{right:18px;bottom:18px}.hc-slide .hc-hero-copy{padding:75px 24px 60px}}
@media(prefers-reduced-motion:reduce){.hc-slide.active{animation:none}.hc-project{transition:none}}

.hc-header{transition:background .35s ease,box-shadow .35s ease,transform .35s ease}.hc-header.scrolled{position:fixed;background:rgba(250,248,242,.94);backdrop-filter:blur(14px);box-shadow:0 8px 35px rgba(27,33,30,.08)}.admin-bar .hc-header.scrolled{top:32px}.hc-slider-count{min-width:42px;font:12px/1.2 monospace;letter-spacing:.08em;color:#d8dedb}.hc-slider-progress{position:absolute;left:0;bottom:0;width:100%;height:2px;background:rgba(255,255,255,.24)}.hc-slider-progress i{display:block;width:0;height:100%;background:var(--gold)}.hc-slider-progress.running i{animation:hcProgress 5.5s linear forwards}@keyframes hcProgress{to{width:100%}}.hc-reveal,.hc-project,.hc-service{opacity:0;transform:translateY(28px);transition:opacity .75s ease,transform .75s ease}.hc-reveal.visible,.hc-project.visible,.hc-service.visible{opacity:1;transform:none}.hc-service:nth-child(2){transition-delay:.08s}.hc-service:nth-child(3){transition-delay:.16s}.hc-service:nth-child(4){transition-delay:.24s}.hc-socials{display:flex;justify-content:center;gap:28px;margin-top:28px}.hc-socials a{padding-bottom:6px;border-bottom:1px solid var(--gold);font-size:13px;letter-spacing:.08em}
@media(max-width:782px){.admin-bar .hc-header.scrolled{top:46px}}
@media(prefers-reduced-motion:reduce){.hc-reveal,.hc-project,.hc-service{opacity:1;transform:none}.hc-slider-progress i{animation:none!important}}

/* V4: configurable image presentation and independent project carousels */
.hc-slide-image{min-height:var(--hc-hero-height);background-size:var(--hc-hero-fit);background-position:var(--hc-hero-position);background-repeat:no-repeat;background-color:#e9e5dc;border-radius:var(--hc-image-radius);filter:var(--hc-image-filter)}
.hc-project-slider{position:relative;overflow:hidden;min-height:var(--hc-project-height);height:var(--hc-project-height);background:#e9e5dc;border-radius:var(--hc-image-radius);filter:var(--hc-image-filter)}
.hc-project.reverse .hc-project-slider{order:2}.hc-project-slide{position:absolute;inset:0;opacity:0;background-size:var(--hc-project-fit);background-position:var(--hc-project-position);background-repeat:no-repeat;transition:opacity .65s ease,transform 5s ease;transform:scale(1.015)}.hc-project-slide.active{opacity:1;transform:scale(1)}
.hc-project-controls{position:absolute;left:18px;bottom:14px;z-index:4;display:flex;align-items:center;gap:10px;background:rgba(27,33,30,.78);color:#fff;padding:7px 10px}.hc-project-controls:empty{display:none}.hc-project-controls button{border:0;background:transparent;color:#fff;font-size:20px;line-height:1;cursor:pointer;padding:2px 7px}.hc-project-count{min-width:42px;text-align:center;font:11px monospace;letter-spacing:.06em}.hc-project-slider>.hc-photo-label{z-index:4}.hc-project-slider.single .hc-project-controls{display:none}
@media(max-width:900px){.hc-project.reverse .hc-project-slider{order:0}.hc-project-slider{min-height:min(var(--hc-project-height),420px);height:min(var(--hc-project-height),420px)}.hc-slide-image{min-height:min(var(--hc-hero-height),560px)}}
