/*
Theme Name: 壹方港家 Yifang Kong Home
Theme URI: https://xgyfgj.cn
Author: 壹方港家
Description: 為香港家居訂製品牌打造的繁體中文／英文雙語官方網站及內容管理後台。
Version: 1.0.1
Requires at least: 6.2
Requires PHP: 8.0
Text Domain: yifang-kong-home
*/

:root {
  --ink: #1d211d;
  --forest: #202821;
  --forest-deep: #151b17;
  --paper: #f5f2ea;
  --cream: #ebe5d8;
  --white: #fffdf8;
  --walnut: #8b6848;
  --line: rgba(29, 33, 29, 0.16);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--paper); color: var(--ink); font-family: "Helvetica Neue", Arial, "Noto Sans TC", "Microsoft JhengHei", sans-serif; }
a { color: inherit; text-decoration: none; }
button, input, select, textarea { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
img { display: block; width: 100%; }
[hidden] { display: none !important; }
.screen-reader-text { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }

.lang-zh h1, .lang-zh h2, .lang-zh h3, .brand-copy strong { font-family: Georgia, "Noto Serif TC", "Songti TC", "PMingLiU", serif; }
h1, h2, h3, p { margin-top: 0; }
.page-shell { width: min(1240px, calc(100% - 80px)); margin: 0 auto; }
.section { padding: 130px 0; }
.eyebrow { display: flex; align-items: center; gap: 12px; margin-bottom: 28px; color: var(--walnut); font-size: 11px; font-weight: 700; letter-spacing: .22em; }
.eyebrow::before { content: ""; width: 34px; height: 1px; background: currentColor; }
.eyebrow.light { color: rgba(255,255,255,.78); }
.section-heading h2, .about h2, .contact h2, .material-copy h2 { font-size: clamp(38px, 4.2vw, 68px); line-height: 1.08; font-weight: 400; letter-spacing: -.035em; }
.split-heading { display: grid; grid-template-columns: 1fr .7fr; gap: 100px; align-items: end; margin-bottom: 62px; }
.split-heading h2 { margin-bottom: 0; }
.split-heading > p, .projects-heading p, .material-copy > p, .contact-copy > p { color: #5f645e; font-size: 16px; line-height: 1.85; max-width: 540px; }

.site-header { position: absolute; z-index: 20; top: 0; left: 0; right: 0; height: 94px; display: flex; align-items: center; justify-content: space-between; padding: 0 48px; color: white; border-bottom: 1px solid rgba(255,255,255,.18); }
.brand { display: inline-flex; align-items: center; gap: 13px; }
.brand-mark { position: relative; width: 42px; height: 42px; display: grid; place-items: center; border: 1px solid currentColor; }
.brand-mark::after { content: ""; position: absolute; inset: 4px; border: 1px solid currentColor; opacity: .4; }
.brand-mark span { z-index: 1; font-family: Georgia, "Noto Serif TC", serif; font-size: 21px; }
.brand-copy { display: flex; flex-direction: column; gap: 2px; }
.brand-copy strong { font-size: 19px; letter-spacing: .16em; font-weight: 500; }
.brand-copy small { font-size: 7px; letter-spacing: .22em; opacity: .72; }
.main-nav { display: flex; align-items: center; gap: 34px; font-size: 13px; }
.main-nav > a:not(.nav-cta) { position: relative; opacity: .88; }
.main-nav > a:not(.nav-cta)::after { content: ""; position: absolute; left: 0; right: 100%; bottom: -9px; height: 1px; background: white; transition: right .25s ease; }
.main-nav > a:hover::after { right: 0; }
.nav-cta { padding: 13px 19px; border: 1px solid rgba(255,255,255,.5); transition: background .2s, color .2s; }
.nav-cta:hover { color: var(--forest); background: white; }
.header-actions { display: flex; align-items: center; gap: 18px; }
.language-switch { min-width: 54px; height: 36px; padding: 0 12px; color: white; background: rgba(21,27,23,.74); border: 1px solid rgba(255,255,255,.72); border-radius: 999px; box-shadow: 0 4px 18px rgba(0,0,0,.18); backdrop-filter: blur(8px); cursor: pointer; font-size: 12px; font-weight: 700; letter-spacing: .1em; transition: background .2s, border-color .2s, transform .2s; }
.language-switch:hover, .language-switch:focus-visible { background: var(--walnut); border-color: white; outline: none; transform: translateY(-1px); }
.menu-toggle { display: none; width: 34px; height: 34px; padding: 8px 5px; background: transparent; border: 0; cursor: pointer; }
.menu-toggle span { display: block; height: 1px; margin: 6px 0; background: white; transition: transform .2s; }

.hero { position: relative; min-height: 780px; height: 100svh; max-height: 980px; color: white; overflow: hidden; }
.hero-image { position: absolute; inset: 0; background: url("assets/images/hero.jpg") center 54%/cover no-repeat; transform: scale(1.025); animation: hero-in 1.6s ease-out both; }
@keyframes hero-in { from { transform: scale(1.08); filter: brightness(.8); } }
.hero-shade { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(12,18,14,.77) 0%, rgba(15,20,17,.44) 45%, rgba(11,14,12,.16) 78%), linear-gradient(0deg, rgba(9,12,10,.5), transparent 46%); }
.hero-content { position: relative; height: 100%; display: flex; flex-direction: column; justify-content: center; padding-top: 80px; }
.hero-content h1 { max-width: 830px; margin: 0 0 30px; font-size: clamp(58px, 7vw, 104px); font-weight: 400; line-height: 1.02; letter-spacing: -.045em; }
.hero-content h1 span { display: block; }
.lang-zh .hero-content h1 { letter-spacing: .03em; }
.hero-text { max-width: 570px; margin-bottom: 40px; font-size: 17px; line-height: 1.9; color: rgba(255,255,255,.82); }
.hero-actions { display: flex; align-items: center; gap: 34px; }
.button { display: inline-flex; justify-content: space-between; align-items: center; min-width: 210px; padding: 18px 20px; border: 1px solid; cursor: pointer; font-size: 13px; letter-spacing: .06em; transition: transform .2s, background .2s, color .2s; }
.button:hover { transform: translateY(-2px); }
.button-light { color: var(--ink); background: var(--white); border-color: var(--white); }
.text-link { display: inline-flex; align-items: center; gap: 16px; padding: 12px 0; border-bottom: 1px solid rgba(255,255,255,.4); font-size: 13px; }
.light-link { color: white; }
.scroll-cue { position: absolute; z-index: 2; right: 44px; bottom: 38px; display: flex; align-items: center; gap: 16px; font-size: 10px; letter-spacing: .18em; text-transform: uppercase; color: rgba(255,255,255,.7); writing-mode: vertical-rl; }
.scroll-cue i { width: 1px; height: 55px; background: rgba(255,255,255,.5); }

.promise-grid { display: grid; grid-template-columns: repeat(3, 1fr); padding-top: 52px; padding-bottom: 52px; }
.promise-card { display: flex; gap: 25px; padding: 8px 42px; border-right: 1px solid var(--line); }
.promise-card:first-child { padding-left: 0; }
.promise-card:last-child { border-right: 0; }
.promise-card > span { color: var(--walnut); font-family: Georgia, serif; font-size: 13px; }
.promise-card h2 { margin-bottom: 10px; font-size: 18px; font-weight: 500; }
.promise-card p { margin: 0; color: #747871; font-size: 13px; line-height: 1.7; }

.solutions { background: var(--white); }
.solution-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 72px 26px; }
.solution-card:nth-child(even) { transform: translateY(72px); }
.solution-image-wrap { position: relative; height: 430px; overflow: hidden; background: #d9d4ca; }
.solution-image-wrap img { height: 100%; object-fit: cover; transition: transform .6s ease; }
.solution-card:hover img { transform: scale(1.035); }
.solution-image-wrap > span { position: absolute; right: 0; bottom: 0; padding: 13px 18px; color: var(--forest); background: var(--white); font-family: Georgia, serif; font-size: 12px; }
.solution-copy { display: grid; grid-template-columns: .9fr 1fr; gap: 30px; padding-top: 22px; border-top: 1px solid var(--line); }
.solution-copy h3 { margin: 0 0 8px; font-size: 25px; font-weight: 400; }
.solution-copy small { color: var(--walnut); font-size: 9px; letter-spacing: .12em; text-transform: uppercase; }
.solution-copy p { margin: 2px 0 0; color: #71766e; font-size: 13px; line-height: 1.8; }

.projects { color: white; background: var(--forest); }
.projects-heading { margin-bottom: 54px; }
.projects-heading > div { display: flex; align-items: end; justify-content: space-between; gap: 60px; }
.projects-heading h2 { max-width: 720px; margin: 0; }
.projects-heading p { margin: 0; color: rgba(255,255,255,.6); }
.project-grid { display: grid; grid-template-columns: 1.45fr 1fr; grid-template-rows: 320px 320px; gap: 16px; }
.project-card { position: relative; overflow: hidden; min-height: 0; }
.project-1 { grid-row: 1 / 3; }
.project-card img { height: 100%; object-fit: cover; transition: transform .7s ease; }
.project-card:hover img { transform: scale(1.035); }
.project-overlay { position: absolute; inset: 0; background: linear-gradient(0deg, rgba(9,14,10,.78), transparent 60%); }
.project-type { position: absolute; top: 22px; left: 22px; padding: 8px 11px; border: 1px solid rgba(255,255,255,.4); font-size: 9px; letter-spacing: .12em; }
.project-copy { position: absolute; left: 30px; right: 30px; bottom: 28px; }
.project-copy p { margin-bottom: 9px; color: rgba(255,255,255,.65); font-size: 11px; letter-spacing: .08em; }
.project-copy h3 { margin-bottom: 20px; font-size: 30px; font-weight: 400; }
.project-1 .project-copy h3 { font-size: 42px; }
.project-copy a { display: flex; align-items: center; justify-content: space-between; width: 140px; padding-top: 10px; border-top: 1px solid rgba(255,255,255,.45); font-size: 11px; }

.process { background: var(--paper); }
.process-list { border-top: 1px solid var(--line); }
.process-step { display: grid; grid-template-columns: 90px .55fr 1fr 40px; align-items: center; gap: 30px; min-height: 118px; border-bottom: 1px solid var(--line); transition: padding .25s, background .25s; }
.process-step:hover { padding: 0 18px; background: rgba(255,255,255,.55); }
.process-step > span { color: var(--walnut); font-family: Georgia, serif; font-size: 13px; }
.process-step h3 { margin: 0; font-size: 25px; font-weight: 400; }
.process-step p { max-width: 520px; margin: 0; color: #71766e; font-size: 14px; line-height: 1.75; }
.process-step i { justify-self: end; font-style: normal; color: var(--walnut); }

.about { display: grid; grid-template-columns: 1fr 1fr; min-height: 760px; color: white; background: var(--forest-deep); }
.about-image { min-height: 650px; background: url("assets/images/about.jpg") center/cover no-repeat; }
.about-content { display: flex; align-items: center; padding: 90px clamp(50px, 7vw, 120px); }
.about-inner { max-width: 570px; }
.about-inner h2 { margin-bottom: 34px; }
.about-inner > p:not(.eyebrow) { color: rgba(255,255,255,.62); font-size: 15px; line-height: 1.95; }
.about-stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; margin-top: 52px; padding-top: 30px; border-top: 1px solid rgba(255,255,255,.16); }
.about-stats div { display: flex; flex-direction: column; gap: 8px; }
.about-stats strong { font-family: Georgia, serif; font-size: 27px; font-weight: 400; }
.about-stats span { color: rgba(255,255,255,.5); font-size: 10px; letter-spacing: .08em; }

.material-strip { padding: 120px 0; background: var(--cream); }
.material-layout { display: grid; grid-template-columns: .8fr 1.2fr; gap: 100px; align-items: center; }
.material-number { display: block; margin-bottom: 50px; color: var(--walnut); font-family: Georgia, serif; font-size: 13px; }
.material-copy h2 { font-size: clamp(38px, 4vw, 58px); }
.material-tags { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 34px; }
.material-tags span { padding: 10px 13px; border: 1px solid rgba(29,33,29,.22); font-size: 11px; }
.material-image { min-height: 520px; background: url("assets/images/solution-flex.jpg") center/cover no-repeat; }

.contact { padding: 130px 0; background: var(--white); }
.contact-layout { display: grid; grid-template-columns: .75fr 1fr; gap: 120px; align-items: start; }
.contact-copy h2 { margin-bottom: 30px; }
.contact-methods { margin-top: 50px; border-top: 1px solid var(--line); }
.contact-methods a { display: grid; grid-template-columns: 42px 1fr 30px; align-items: center; gap: 16px; padding: 20px 0; border-bottom: 1px solid var(--line); }
.contact-methods > a > span { display: grid; place-items: center; width: 38px; height: 38px; border: 1px solid var(--line); color: var(--walnut); font-size: 11px; }
.contact-methods div { display: flex; flex-direction: column; gap: 5px; }
.contact-methods small { color: #8b8f88; font-size: 8px; letter-spacing: .15em; }
.contact-methods strong { font-size: 14px; font-weight: 500; }
.contact-methods i { justify-self: end; font-style: normal; }
.service-area { margin-top: 18px !important; font-size: 12px !important; }
.enquiry-form { padding: 50px; background: var(--paper); }
.form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 25px; }
.enquiry-form label { display: flex; flex-direction: column; gap: 9px; margin-bottom: 24px; color: #5f645e; font-size: 11px; }
.enquiry-form input, .enquiry-form select, .enquiry-form textarea { width: 100%; padding: 11px 2px; color: var(--ink); background: transparent; border: 0; border-bottom: 1px solid rgba(29,33,29,.28); border-radius: 0; outline: none; resize: vertical; }
.enquiry-form input:focus, .enquiry-form select:focus, .enquiry-form textarea:focus { border-bottom-color: var(--walnut); }
.button-dark { width: 100%; margin-top: 10px; color: white; background: var(--forest); border-color: var(--forest); }
.button-dark:hover { background: var(--walnut); border-color: var(--walnut); }
.form-note { margin: 14px 0 0; color: #8a8e87; font-size: 10px; line-height: 1.6; }
.form-note.is-success { color: #2e6f47; font-weight: 700; }
.form-note.is-error { color: #9b3a32; font-weight: 700; }

.admin-bar .site-header { top: 32px; }

footer { padding: 70px 0 30px; color: white; background: #101512; }
.footer-top { display: grid; grid-template-columns: 1fr 1fr auto; align-items: center; gap: 40px; padding-bottom: 50px; border-bottom: 1px solid rgba(255,255,255,.13); }
.footer-top > p { margin: 0; color: rgba(255,255,255,.5); font-size: 12px; }
.back-top { display: grid; place-items: center; width: 46px; height: 46px; border: 1px solid rgba(255,255,255,.3); }
.footer-bottom { display: flex; justify-content: space-between; gap: 30px; padding-top: 24px; color: rgba(255,255,255,.38); font-size: 10px; }
.footer-bottom p { margin: 0; }
.footer-bottom div { display: flex; gap: 24px; }

@media (max-width: 980px) {
  .page-shell { width: min(100% - 44px, 760px); }
  .site-header { height: 78px; padding: 0 22px; }
  .brand-copy strong { font-size: 16px; }
  .brand-mark { width: 38px; height: 38px; }
  .menu-toggle { display: block; }
  .main-nav { position: absolute; top: 78px; left: 0; right: 0; display: none; align-items: stretch; flex-direction: column; gap: 0; padding: 22px; color: var(--ink); background: var(--paper); box-shadow: 0 20px 40px rgba(0,0,0,.12); }
  .main-nav.is-open { display: flex; }
  .main-nav > a { padding: 15px 4px; border-bottom: 1px solid var(--line); }
  .nav-cta { margin-top: 14px; color: white; text-align: center; background: var(--forest); border: 0; }
  .hero { height: 820px; min-height: 100svh; }
  .hero-content { padding-top: 70px; }
  .hero-content h1 { font-size: clamp(54px, 10vw, 80px); }
  .scroll-cue { display: none; }
  .promise-grid { grid-template-columns: 1fr; }
  .promise-card, .promise-card:first-child { padding: 24px 0; border-right: 0; border-bottom: 1px solid var(--line); }
  .promise-card:last-child { border-bottom: 0; }
  .split-heading { grid-template-columns: 1fr; gap: 20px; }
  .solution-image-wrap { height: 340px; }
  .project-grid { grid-template-columns: 1fr; grid-template-rows: 580px 360px 360px; }
  .project-1 { grid-row: auto; }
  .about { grid-template-columns: 1fr; }
  .about-image { min-height: 620px; }
  .about-content { padding: 90px 40px; }
  .material-layout, .contact-layout { grid-template-columns: 1fr; gap: 60px; }
  .material-image { grid-row: 1; min-height: 480px; }
}

@media (max-width: 640px) {
  .admin-bar .site-header { top: 46px; }
  .page-shell { width: calc(100% - 36px); }
  .section { padding: 90px 0; }
  .site-header { padding: 0 18px; }
  .brand-copy small { display: none; }
  .language-switch { min-width: 50px; height: 34px; font-size: 11px; }
  .hero { height: 780px; }
  .hero-image { background-position: 62% center; }
  .hero-content h1 { font-size: 49px; line-height: 1.1; }
  .hero-text { font-size: 15px; line-height: 1.8; }
  .hero-actions { align-items: flex-start; flex-direction: column; gap: 18px; }
  .button { min-width: 230px; }
  .promise-grid { padding-top: 28px; padding-bottom: 28px; }
  .solution-grid { grid-template-columns: 1fr; gap: 55px; }
  .solution-card:nth-child(even) { transform: none; }
  .solution-image-wrap { height: 320px; }
  .solution-copy { grid-template-columns: 1fr; gap: 14px; }
  .projects-heading > div { align-items: start; flex-direction: column; gap: 15px; }
  .project-grid { grid-template-rows: 470px 340px 340px; }
  .project-copy h3, .project-1 .project-copy h3 { font-size: 28px; }
  .process-step { grid-template-columns: 48px 1fr 24px; gap: 15px; padding: 24px 0; }
  .process-step h3 { font-size: 21px; }
  .process-step p { grid-column: 2 / 4; }
  .about-image { min-height: 500px; }
  .about-content { padding: 75px 22px; }
  .about-stats { gap: 10px; }
  .about-stats strong { font-size: 21px; }
  .material-strip { padding: 90px 0; }
  .material-image { min-height: 360px; }
  .contact { padding: 90px 0; }
  .enquiry-form { padding: 32px 22px; }
  .form-row { grid-template-columns: 1fr; gap: 0; }
  .footer-top { grid-template-columns: 1fr auto; }
  .footer-top > p { grid-column: 1 / 3; }
  .footer-bottom { flex-direction: column; }
}

@media (max-width: 360px) {
  .page-shell { width: calc(100% - 32px); }
  .site-header { padding: 0 16px; }
  .header-actions { gap: 12px; }
  .language-switch { min-width: 48px; padding: 0 10px; }
  .hero { height: max(680px, 100svh); }
  .hero-content { padding-top: 58px; }
  .hero-content .eyebrow { margin-bottom: 20px; }
  .hero-content h1 { margin-bottom: 22px; font-size: 42px; line-height: 1.12; letter-spacing: .01em; }
  .hero-content h1 span { white-space: nowrap; }
  .hero-text { margin-bottom: 26px; }
  .hero-actions { gap: 12px; }
  .button { min-width: 220px; padding: 16px 18px; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; }
}


/* 授權證明展示 */
.material-proof { min-height: 520px; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; align-items: center; padding: 22px; background: #f6f2e9; }
.material-proof img { width: 100%; height: auto; max-height: 440px; object-fit: contain; background: #fff; box-shadow: 0 18px 42px rgba(29,33,29,.12); }
@media (max-width: 760px) { .material-layout { grid-template-columns: 1fr; gap: 42px; } .material-proof { min-height: 0; padding: 12px; gap: 10px; } }


/* 內容頁 */
.content-page { min-height: 72vh; padding: 110px 0 96px; background: #f7f4ee; }
.content-page-inner { max-width: 920px; }
.content-kicker { margin: 0 0 20px; color: var(--walnut); font-size: 12px; letter-spacing: .16em; }
.content-page h1 { max-width: 760px; margin: 0 0 36px; font-size: clamp(42px, 6vw, 74px); line-height: 1.08; }
.content-page-body { max-width: 780px; color: #3f423e; font-size: 18px; line-height: 1.9; }
.content-page-body h2 { margin: 50px 0 16px; font-size: 28px; line-height: 1.3; color: #1d211d; }
.content-page-body h3 { margin: 30px 0 10px; font-size: 20px; color: #1d211d; }
.content-page-body p { margin: 0 0 18px; }
.content-page-body ul { margin: 0 0 24px; padding-left: 22px; }
.content-page-cta { display: flex; align-items: center; justify-content: space-between; gap: 24px; margin-top: 62px; padding: 28px 32px; background: #1d211d; color: #fff; }
.content-page-cta strong, .content-page-cta span { display: block; }
.content-page-cta span { margin-top: 6px; color: rgba(255,255,255,.72); font-size: 14px; }
.content-page-cta a { flex: none; padding: 14px 20px; border: 1px solid rgba(255,255,255,.6); color: #fff; text-decoration: none; }
@media (max-width: 760px) { .content-page { padding: 72px 0; } .content-page-cta { display: block; padding: 24px; } .content-page-cta a { display: inline-block; margin-top: 18px; } .main-nav { display:none; } }


/* 內容頁頂部導覽對比度 */
.yfh-content-page .site-header { position: relative; background: #1d211d; }
.yfh-content-page .site-header .brand, .yfh-content-page .site-header .main-nav a { color: #fff; }
.yfh-content-page .site-header .brand small { color: rgba(255,255,255,.62); }
.yfh-content-page .site-header .brand-mark { border-color: rgba(255,255,255,.7); }

.yfh-content-page .nav-wrap { min-height: 88px; display: flex; align-items: center; gap: 28px; }
.yfh-content-page .main-nav { display: flex; align-items: center; gap: 24px; margin-left: auto; white-space: nowrap; }
.yfh-content-page .main-nav a { font-size: 13px; }
.yfh-content-page .nav-cta { flex: none; white-space: nowrap; }
@media (max-width: 980px) { .yfh-content-page .main-nav { gap: 14px; } .yfh-content-page .main-nav a { font-size: 12px; } }


/* 公司名稱 */
.brand-company { display: block; color: currentColor; font-size: 9px; line-height: 1.45; letter-spacing: .04em; opacity: .76; white-space: nowrap; }
.footer-brand .brand-company { margin-top: 1px; font-size: 9px; }
@media (max-width: 760px) { .brand-company { font-size: 7px; letter-spacing: 0; } }


/* 首頁直接展示電話 */
.nav-phone { letter-spacing: .04em; font-variant-numeric: tabular-nums; }
.hero-phone { letter-spacing: .02em; font-variant-numeric: tabular-nums; }

.yfh-content-page .footer-company { line-height: 1.55; }
.yfh-content-page .footer-company small { font-size: 10px; opacity: .7; }


/* 案例交付故事 */
.case-stories { margin-top: 104px; }
.case-story { display: grid; grid-template-columns: minmax(0, .88fr) minmax(0, 1.12fr); gap: 30px 58px; padding: 76px 0; border-top: 1px solid rgba(255,255,255,.22); }
.case-story-intro { align-self: end; }
.case-number { margin: 0 0 20px; color: #b6b09e; font-size: 11px; letter-spacing: .16em; }
.case-story h3 { max-width: 460px; margin: 0; color: #fff; font-size: clamp(30px, 3vw, 48px); line-height: 1.22; }
.case-facts { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 28px; }
.case-facts span { padding: 8px 11px; border: 1px solid rgba(255,255,255,.32); color: rgba(255,255,255,.82); font-size: 11px; }
.case-story-main { min-height: 440px; overflow: hidden; background: #232522; }
.case-story-main img, .case-gallery img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .55s ease; }
.case-story:hover .case-story-main img { transform: scale(1.025); }
.case-story-grid { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 52px; max-width: 980px; }
.case-story-grid h4 { margin: 0 0 12px; color: #fff; font-size: 17px; }
.case-story-grid p { margin: 0; color: rgba(255,255,255,.74); font-size: 15px; line-height: 1.9; }
.case-gallery { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 14px; height: 305px; }
.case-gallery-proof { background: #f2eee5; }
.case-gallery-proof img { object-fit: contain; background: #fff; padding: 14px; }
.case-call { grid-column: 1 / -1; justify-self: start; padding: 13px 17px; border: 1px solid rgba(255,255,255,.48); color: #fff; font-size: 13px; letter-spacing: .03em; text-decoration: none; }
.case-call:hover { background: #fff; color: #1d211d; }
@media (max-width: 760px) { .case-stories { margin-top: 62px; } .case-story { display: block; padding: 54px 0; } .case-story-main { min-height: 280px; margin-top: 26px; } .case-story-grid { display: block; margin-top: 28px; } .case-story-grid > div + div { margin-top: 24px; } .case-gallery { height: 190px; margin-top: 28px; gap: 8px; } .case-call { display: inline-block; margin-top: 28px; } }


/* 案例三的交付清單，避免重複展示授權證書 */
.case-delivery-list { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 14px; }
.case-delivery-list > div { min-height: 154px; padding: 22px; border: 1px solid rgba(255,255,255,.22); background: rgba(255,255,255,.04); }
.case-delivery-list span { display: block; margin-bottom: 20px; color: #b6b09e; font-size: 11px; letter-spacing: .14em; }
.case-delivery-list strong { display: block; color: #fff; font-size: 16px; }
.case-delivery-list p { margin: 10px 0 0; color: rgba(255,255,255,.7); font-size: 13px; line-height: 1.7; }
.projects { position: relative; z-index: 1; }
.process { position: relative; z-index: 2; clear: both; }
@media (max-width: 760px) { .case-delivery-list { display: block; margin-top: 28px; } .case-delivery-list > div + div { margin-top: 10px; } }

/* 案例文字與圖片保持獨立，避免視覺互相干擾 */
.case-story-intro {
  position: relative;
  z-index: 2;
  padding: 32px;
  background: #1d211d;
}
@media (max-width: 760px) {
  .case-story-intro { padding: 24px; }
}

/* 案例說明區使用純色底，文字不覆蓋圖片 */
.case-story-grid {
  position: relative;
  z-index: 2;
  padding: 0 32px 32px;
  background: #1d211d;
}
.case-story-grid > * { position: relative; z-index: 2; }
@media (max-width: 760px) {
  .case-story-grid { padding: 0 24px 24px; }
}

/* 六份授權資料：統一比例、點擊可放大查看 */
.material-proof.auth-proof-wall {
  min-height: 0;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
  align-items: start;
  padding: 22px;
}
.auth-proof-card {
  display: block;
  min-width: 0;
  padding: 10px 10px 13px;
  background: #fff;
  color: #1d211d;
  text-decoration: none;
  box-shadow: 0 12px 26px rgba(29, 33, 29, .10);
  transition: transform .25s ease, box-shadow .25s ease;
}
.auth-proof-card:hover { transform: translateY(-4px); box-shadow: 0 18px 32px rgba(29, 33, 29, .16); }
.material-proof.auth-proof-wall .auth-proof-card img {
  display: block;
  width: 100%;
  height: auto;
  max-height: none;
  aspect-ratio: 0.68;
  object-fit: contain;
  background: #fff;
  box-shadow: none;
}
.auth-proof-card span {
  display: block;
  margin-top: 10px;
  font-size: 12px;
  line-height: 1.45;
  text-align: center;
}
@media (max-width: 760px) {
  .material-proof.auth-proof-wall { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; padding: 12px; }
  .auth-proof-card { padding: 8px 8px 10px; }
  .auth-proof-card span { margin-top: 8px; font-size: 11px; }
}

/* 客戶微信評價 */
.review-section { padding: 122px 0; overflow: hidden; background: #1d211d; color: #fff; }
.review-heading { display: flex; justify-content: space-between; align-items: end; gap: 48px; margin-bottom: 44px; }
.review-heading .eyebrow { color: #c9a57b; }
.review-heading h2 { margin: 12px 0 0; font-size: clamp(42px, 5vw, 76px); font-weight: 400; line-height: 1; letter-spacing: -.04em; }
.review-heading > p { max-width: 390px; margin: 0; color: rgba(255,255,255,.66); font-size: 15px; line-height: 1.85; }
.review-track { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(360px, 420px); gap: 24px; overflow-x: auto; overscroll-behavior-inline: contain; padding: 6px 4px 20px; scroll-snap-type: x mandatory; scrollbar-color: rgba(255,255,255,.32) transparent; scrollbar-width: thin; }
.review-chat-card { min-height: 680px; overflow: hidden; scroll-snap-align: start; border-radius: 4px; background: #e9edf0; color: #202020; box-shadow: 0 20px 52px rgba(0,0,0,.20); }
.review-chat-head { display: grid; grid-template-columns: 30px 1fr 30px; align-items: center; min-height: 58px; padding: 0 16px; border-bottom: 1px solid rgba(0,0,0,.06); background: #f7f7f7; }
.review-chat-head strong { overflow: hidden; font-size: 16px; font-weight: 600; text-align: center; text-overflow: ellipsis; white-space: nowrap; }
.chat-back { color: #212121; font-size: 30px; font-weight: 300; line-height: 1; }
.chat-more { color: #212121; font-size: 16px; font-weight: 700; letter-spacing: 1px; text-align: right; }
.review-chat-body { min-height: 622px; padding: 16px 15px 24px; background: #e9edf0; }
.chat-date { margin: 0 0 18px; color: #8d8d8d; font-size: 11px; text-align: center; }
.chat-row { display: flex; align-items: flex-start; gap: 9px; margin: 0 0 13px; }
.chat-row.is-brand { justify-content: flex-end; }
.chat-avatar, .chat-brand-avatar { flex: 0 0 38px; width: 38px; height: 38px; border-radius: 5px; }
.chat-avatar { object-fit: cover; }
.chat-brand-avatar { display: grid; place-items: center; background: #1d211d; color: #fff; font-family: Georgia, serif; font-size: 20px; line-height: 1; }
.chat-bubble { position: relative; max-width: calc(100% - 58px); margin: 0; padding: 10px 12px; border-radius: 4px; background: #fff; font-size: 13px; line-height: 1.65; }
.chat-row.is-client .chat-bubble::before, .chat-row.is-brand .chat-bubble::after { position: absolute; top: 12px; width: 0; height: 0; border-top: 5px solid transparent; border-bottom: 5px solid transparent; content: ""; }
.chat-row.is-client .chat-bubble::before { left: -6px; border-right: 7px solid #fff; }
.chat-row.is-brand .chat-bubble { background: #95ec69; }
.chat-row.is-brand .chat-bubble::after { right: -6px; border-left: 7px solid #95ec69; }
@media (max-width: 760px) { .review-section { padding: 86px 0; } .review-heading { display: block; margin-bottom: 34px; } .review-heading > p { margin-top: 22px; } .review-track { grid-auto-columns: minmax(84vw, 84vw); gap: 16px; padding-right: 16px; } .review-chat-card { min-height: 650px; } .review-chat-body { min-height: 592px; } .chat-bubble { font-size: 13px; } }

/* 完整微信對話畫面與好評摘要 */
.review-chat-card { min-height: 0; overflow: hidden; }
.wechat-screen { overflow: hidden; background: #e9edf0; }
.chat-statusbar { display: flex; align-items: center; justify-content: space-between; height: 28px; padding: 0 16px; background: #f7f7f7; color: #111; font-size: 11px; font-weight: 700; }
.chat-status-icons { display: flex; align-items: center; gap: 5px; }
.chat-status-icons b { font-size: 10px; }
.chat-signal { width: 13px; height: 9px; background: linear-gradient(to top, #171717 0 100%); clip-path: polygon(0 100%, 0 68%, 18% 68%, 18% 50%, 39% 50%, 39% 32%, 61% 32%, 61% 15%, 82% 15%, 82% 0, 100% 0, 100% 100%); }
.chat-battery { position: relative; width: 18px; height: 9px; border: 1.5px solid #171717; border-radius: 2px; }
.chat-battery::after { position: absolute; top: 2px; right: -3px; width: 2px; height: 3px; background: #171717; content: ""; }
.chat-battery::before { position: absolute; inset: 1px; width: 11px; background: #171717; content: ""; }
.review-chat-head { min-height: 52px; }
.review-chat-body { min-height: 610px; }
.chat-inputbar { display: grid; grid-template-columns: 26px 1fr 24px 28px; align-items: center; gap: 10px; height: 56px; padding: 0 13px; border-top: 1px solid rgba(0,0,0,.08); background: #f7f7f7; color: #2b2b2b; }
.chat-voice { font-size: 19px; text-align: center; }
.chat-inputbox { height: 32px; border-radius: 4px; background: #fff; }
.chat-emoji { font-size: 23px; line-height: 1; text-align: center; }
.chat-add { font-size: 25px; font-weight: 300; line-height: 1; text-align: center; }
.review-summary { min-height: 150px; padding: 22px 24px 25px; border-top: 1px solid rgba(29,33,29,.10); background: #fff; color: #1d211d; }
.review-summary h3 { margin: 0 0 10px; font-size: 15px; font-weight: 600; }
.review-summary p { margin: 0; color: #5f645e; font-size: 13px; line-height: 1.8; }
@media (max-width: 760px) { .review-chat-body { min-height: 610px; } .review-summary { min-height: 0; padding: 19px 18px 22px; } .review-summary p { font-size: 12px; } }


/* 品牌资讯 */
.brand-news-hero,.article-hero{background:#1f2420;color:#f7f4ec}
.brand-news-hero{padding:146px 0 76px}
.brand-news-hero .content-kicker,.article-hero .article-meta{color:#c99e65}
.brand-news-hero h1{font-size:clamp(42px,6vw,76px);line-height:1.08;margin:14px 0 20px;font-weight:500;letter-spacing:.04em}
.brand-news-hero p:last-child{max-width:640px;color:#d5d4cd;font-size:17px;line-height:1.9;margin:0}
.brand-news-list{padding:74px 0 98px;background:#f6f2e9}
.brand-news-filters{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 38px}
.brand-news-filters a{display:inline-flex;align-items:center;min-height:36px;padding:0 18px;border:1px solid #d2c8b8;color:#5c5a55;font-size:14px;transition:.2s}
.brand-news-filters a:hover,.brand-news-filters a.is-active{background:#262b27;border-color:#262b27;color:#fff}
.brand-news-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px}
.brand-news-card{background:#fff;display:flex;flex-direction:column;min-width:0;box-shadow:0 4px 18px rgba(35,31,24,.05)}
.brand-news-card-media{display:block;overflow:hidden;background:#dcd8cf;aspect-ratio:1.42}
.brand-news-card-media img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .45s ease}
.brand-news-card:hover .brand-news-card-media img{transform:scale(1.035)}
.brand-news-card-fallback{height:100%;display:flex;align-items:flex-end;padding:26px;background:linear-gradient(135deg,#877455,#333b33);color:#fff;font:500 24px/1.1 Georgia,serif;letter-spacing:.08em}
.brand-news-card-body{padding:24px 25px 25px;display:flex;flex:1;flex-direction:column;align-items:flex-start}
.brand-news-card-meta{margin:0 0 12px;color:#a17845;font-size:12px;letter-spacing:.08em}
.brand-news-card h2{margin:0 0 14px;font-size:22px;line-height:1.35;font-weight:500}
.brand-news-card h2 a{color:#262623;text-decoration:none}
.brand-news-card-body>p:not(.brand-news-card-meta){color:#6d6b65;line-height:1.75;font-size:14px;margin:0 0 20px}
.brand-news-readmore{margin-top:auto;color:#222722;text-decoration:none;font-size:13px;letter-spacing:.06em;border-bottom:1px solid #bda176;padding-bottom:4px}
.brand-news-readmore span{margin-left:6px;font-size:16px}
.brand-news-empty{padding:72px 34px;text-align:center;border:1px solid #d9d0c1;background:#fff}
.brand-news-empty>span{color:#a17845;font-size:12px;letter-spacing:.16em}
.brand-news-empty h2{font-size:28px;font-weight:500;margin:14px 0}
.brand-news-empty p{color:#6d6b65;margin:0}
.brand-news-pagination{margin-top:46px;text-align:center}
.brand-news-pagination .page-numbers{display:inline-flex;gap:6px;list-style:none;padding:0;margin:0}
.brand-news-pagination a,.brand-news-pagination span{display:flex;min-width:36px;height:36px;padding:0 10px;align-items:center;justify-content:center;border:1px solid #d5cbbb;color:#555;text-decoration:none;font-size:13px}
.brand-news-pagination .current,.brand-news-pagination a:hover{color:#fff;border-color:#242a25;background:#242a25}
.article-hero{padding:132px 0 68px}
.article-breadcrumb{display:flex;gap:10px;flex-wrap:wrap;color:#c9c8c2;font-size:13px;margin:0 0 29px}
.article-breadcrumb a{color:#e2d6c4;text-decoration:none}
.article-breadcrumb span:last-child{max-width:460px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.article-hero .article-meta{font-size:13px;letter-spacing:.08em;margin:0 0 18px}
.article-hero h1{margin:0;max-width:900px;font-size:clamp(34px,5vw,62px);font-weight:500;line-height:1.22;letter-spacing:.025em}
.article-main{padding:70px 0 82px;background:#f6f2e9}
.article-layout{display:grid;grid-template-columns:minmax(0,790px) minmax(220px,1fr);gap:70px;align-items:start}
.article-body{min-width:0;color:#34342f;font-size:17px;line-height:2;background:#fff;padding:clamp(28px,5vw,64px)}
.article-body>*:first-child{margin-top:0}.article-body>*:last-child{margin-bottom:0}
.article-body h2{font-size:29px;line-height:1.35;margin:2em 0 .7em;font-weight:500}
.article-body h3{font-size:22px;margin:1.75em 0 .65em;font-weight:500}
.article-body p{margin:0 0 1.35em}.article-body a{color:#8d6032;text-decoration:underline;text-underline-offset:4px}.article-body img{max-width:100%;height:auto}
.article-featured-image{margin:0 0 40px}.article-featured-image img{width:100%;height:auto;display:block}
.article-aside{position:sticky;top:115px}
.article-aside-box{padding:25px;border-top:2px solid #9c784f;background:#ece5d8}
.article-aside-box p{font-size:14px;color:#56554e;margin:0 0 12px}.article-aside-box strong{display:block;font-size:20px;letter-spacing:.03em;margin:0 0 20px}.article-aside-box a{display:block;text-align:center;padding:11px;background:#272d28;color:#fff;text-decoration:none;font-size:14px}
.article-related{padding:84px 0 100px;background:#ebe4d8}
.article-related .section-heading{margin-bottom:31px}
@media(max-width:900px){.brand-news-hero{padding:114px 0 55px}.brand-news-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.article-layout{grid-template-columns:1fr;gap:24px}.article-aside{position:static}.article-aside-box{display:flex;align-items:center;gap:16px}.article-aside-box p,.article-aside-box strong{margin:0}.article-aside-box a{margin-left:auto;padding:9px 16px}.article-hero{padding:112px 0 52px}}
@media(max-width:600px){.brand-news-list{padding:48px 0 64px}.brand-news-grid{grid-template-columns:1fr;gap:18px}.brand-news-card-body{padding:20px}.brand-news-hero p:last-child{font-size:15px}.article-hero h1{font-size:34px}.article-main{padding:40px 0 48px}.article-body{font-size:16px;line-height:1.9}.article-body h2{font-size:25px}.article-aside-box{display:block}.article-aside-box p{margin-bottom:8px}.article-aside-box strong{margin-bottom:15px}.article-aside-box a{margin:0}.article-breadcrumb span:last-child{max-width:180px}.article-related{padding:54px 0 64px}}
.latest-news{padding:92px 0 100px;background:#f7f4ec}
.home-news-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px}
.home-news-card{background:#fff;min-width:0;box-shadow:0 4px 18px rgba(35,31,24,.05)}
.home-news-media{display:block;aspect-ratio:1.5;overflow:hidden;background:linear-gradient(135deg,#897653,#303a32)}
.home-news-media img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .45s ease}
.home-news-card:hover .home-news-media img{transform:scale(1.035)}
.home-news-media span{display:flex;height:100%;align-items:flex-end;padding:24px;color:#fff;font:500 23px/1.1 Georgia,serif;letter-spacing:.08em}
.home-news-card>div{padding:22px 24px 25px}.home-news-card p{margin:0 0 10px;color:#a17845;font-size:12px;letter-spacing:.08em}.home-news-card h3{font-size:21px;line-height:1.42;font-weight:500;margin:0 0 18px}.home-news-card h3 a{color:#272723;text-decoration:none}.home-news-link,.home-news-all a{color:#2e342e;text-decoration:none;font-size:13px;letter-spacing:.06em;border-bottom:1px solid #bea277;padding-bottom:4px}.home-news-link span,.home-news-all span{margin-left:6px;font-size:16px}.home-news-all{text-align:center;margin-top:42px}
@media(max-width:900px){.home-news-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.latest-news{padding:54px 0 65px}.home-news-grid{grid-template-columns:1fr;gap:18px}}

/* WhatsApp 联系入口 */
.hero-actions { flex-wrap: wrap; }
.button-whatsapp { min-width: 224px; color: #fff; background: #25d366; border-color: #25d366; }
.button-whatsapp:hover { color: #fff; background: #1fba59; border-color: #1fba59; }
.footer-top { grid-template-columns: auto minmax(180px, 1fr) auto auto; }
.footer-whatsapp { color: #9de8b8; font-size: 13px; letter-spacing: .035em; white-space: nowrap; text-decoration: none; }
.footer-whatsapp:hover { color: #fff; }
.footer-bottom .footer-whatsapp { display: inline-block; margin-top: 7px; }
@media (max-width: 640px) {
  .footer-top > .footer-whatsapp { grid-column: 1 / 2; }
}
