/*
Theme Name: 國揮建設新版官網
Theme URI: https://guohui-preview.inchi.com.tw/
Author: 映齊創意
Description: 國揮建設官方網站專用主題。
Version: 0.1.0
Text Domain: guohui-official
*/

:root { --ink:#24201e; --paper:#fbfaf8; --line:#ded8d2; --accent:#8f5e3d; --soft:#f1ebe6; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--ink); background:var(--paper); font-family:"Noto Sans TC","PingFang TC",sans-serif; line-height:1.7; }
a { color:inherit; text-decoration:none; }
img { display:block; width:100%; height:auto; }
.site-header { position:sticky; z-index:20; top:0; border-bottom:1px solid var(--line); background:rgba(251,250,248,.95); backdrop-filter:blur(10px); }
.header-inner,.page-width { width:min(1160px, calc(100% - 40px)); margin:auto; }
.header-inner { min-height:76px; display:flex; align-items:center; justify-content:space-between; gap:24px; }
.brand-mark { display:block; width:154px; }
.brand-mark img { width:100%; height:auto; }
.site-nav ul { display:flex; align-items:center; gap:26px; padding:0; margin:0; list-style:none; font-size:15px; }
.site-nav a:hover,.site-nav .current-menu-item a { color:var(--accent); }
.hero { padding:112px 0 96px; background:linear-gradient(125deg,#ede6df 0%,#fbfaf8 58%,#e7ded6 100%); }
.eyebrow { color:var(--accent); font-size:13px; font-weight:700; letter-spacing:.16em; }
.hero h1 { max-width:800px; margin:16px 0; font-family:"Noto Serif TC",serif; font-size:clamp(40px,7vw,76px); line-height:1.18; letter-spacing:.05em; }
.hero p { max-width:650px; margin:0; font-size:18px; }
.section { padding:92px 0; }
.section.soft { background:var(--soft); }
.section-heading { margin-bottom:36px; }
.section-heading h2 { margin:8px 0 0; font-family:"Noto Serif TC",serif; font-size:clamp(30px,4vw,46px); letter-spacing:.04em; }
.prose { max-width:800px; }
.card-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.card { border:1px solid var(--line); background:#fff; }
.card-body { padding:24px; }
.card h3 { margin:0 0 6px; font-size:22px; }
.history-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px; }
.history-card { overflow:hidden; border:1px solid var(--line); background:#fff; }
.history-body { padding:26px; }
.history-year { color:var(--accent); font-size:14px; font-weight:700; letter-spacing:.1em; }
.history-card h2 { margin:4px 0 8px; font-size:28px; }
.history-card p { margin:4px 0; }
.history-data { color:#665d58; font-size:14px; }
.history-detail { margin-top:18px; }
.button { display:inline-flex; align-items:center; justify-content:center; padding:12px 20px; background:var(--ink); color:#fff; font-size:14px; font-weight:700; }
.button:hover { background:var(--accent); }
.project-hero { padding:72px 0 40px; background:var(--soft); }
.project-hero h1 { margin:0; font-family:"Noto Serif TC",serif; font-size:clamp(36px,6vw,64px); }
.project-meta { margin:14px 0 0; color:#665d58; }
.ruyuan-image { max-width:1125px; margin:0 auto; }
.contact-strip { padding:40px 0; background:var(--ink); color:#fff; text-align:center; }
.contact-strip h2 { margin:0 0 16px; font-family:"Noto Serif TC",serif; font-size:30px; }
.contact-strip .button { margin:4px; background:#fff; color:var(--ink); }
.contact-strip .button.line { background:#5f8f5a; color:#fff; }
.site-footer { padding:40px 0; background:#171413; color:#d9d2cb; font-size:14px; }
.site-footer p { margin:0; }
@media (max-width:760px) { .header-inner,.page-width { width:min(100% - 32px,1160px); } .header-inner { min-height:64px; } .brand-mark { width:110px; } .site-nav ul { gap:14px; font-size:13px; } .hero { padding:70px 0 64px; } .section { padding:64px 0; } .card-grid,.history-grid { grid-template-columns:1fr; } .mobile-project-cta { position:sticky; bottom:0; z-index:10; display:flex; } .mobile-project-cta a { flex:1; padding:14px 8px; color:#fff; background:var(--ink); text-align:center; font-size:14px; font-weight:700; } .mobile-project-cta a:last-child { background:#5f8f5a; } }

/* Homepage redesign: all photographs are supplied legacy and project assets. */
:root { --ink:#302019; --paper:#f6f1ea; --line:#dfd6cc; --accent:#bb2f63; --gold:#cc9b42; --coffee:#542b25; --dark:#2f1f1a; }
body { background:var(--paper); }
.site-header { background:rgba(255,253,249,.96); border-bottom:0; }
.hero-image { min-height:620px; padding:0; display:flex; align-items:center; background:linear-gradient(rgba(37,20,15,.42),rgba(37,20,15,.42)),url('assets/legacy-dongyi2.jpg') center/cover; color:#fffdf8; position:relative; }
.hero-image:before { content:""; position:absolute; left:0; top:0; bottom:0; width:15px; background:var(--accent); }
.hero-copy { position:relative; padding:100px 0 95px; }
.eyebrow.light { color:var(--gold); }
.hero-image h1 { color:#fffdf8; max-width:640px; font-size:clamp(48px,6.2vw,82px); margin:16px 0; text-shadow:0 2px 24px rgba(0,0,0,.18); }
.hero-image p { max-width:510px; font-size:18px; }
.about-section { background:#fffdf9; }
.split-intro { display:grid; grid-template-columns:minmax(0,1fr) minmax(360px,.85fr); gap:100px; align-items:center; }
.split-intro-copy h2,.featured-project-copy h2 { margin:8px 0 26px; font-family:"Noto Serif TC",serif; font-size:clamp(36px,4vw,56px); line-height:1.2; letter-spacing:.04em; }
.split-intro-image { overflow:hidden; box-shadow:20px 20px 0 #e9e0d7; }
.split-intro-image img { aspect-ratio:1.15; object-fit:cover; }
.featured-project { background:var(--paper); }
.featured-project-grid { display:grid; grid-template-columns:minmax(0,1fr) 430px; gap:110px; align-items:center; }
.featured-project-copy h3 { margin:0 0 12px; font-family:"Noto Serif TC",serif; font-size:40px; letter-spacing:.08em; }
.featured-project-copy p { color:#655147; margin:0 0 30px; }
.featured-project-visual { display:block; max-height:690px; overflow:hidden; border:10px solid #fffdf9; box-shadow:18px 18px 0 #ddd4ca; }
.featured-project-visual img { height:670px; object-fit:cover; object-position:top; }
.history-teaser { background:var(--dark); color:#fffdf8; }
.section-heading-light h2 { color:#fffdf8; }
.section-heading-light p { color:#dccfc4; }
.history-teaser-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:22px; margin:40px 0; }
.history-teaser-card { position:relative; display:block; min-height:360px; overflow:hidden; background:#1e120e; }
.history-teaser-card:after { content:""; position:absolute; inset:0; background:linear-gradient(transparent 45%,rgba(24,12,8,.78)); }
.history-teaser-card img { height:360px; object-fit:cover; transition:transform .35s ease; }
.history-teaser-card:hover img { transform:scale(1.04); }
.history-teaser-card span { position:absolute; z-index:1; left:20px; bottom:18px; color:#fff; font-family:"Noto Serif TC",serif; font-size:23px; letter-spacing:.06em; }
.button-outline { background:transparent; border:1px solid #e9d8c6; color:#fff; }
.button-outline:hover { border-color:var(--accent); background:var(--accent); }
.archive-heading { padding:120px 0 60px; background:#fffdf9; }
.archive-heading h1 { margin:8px 0; font-family:"Noto Serif TC",serif; font-size:clamp(42px,5vw,64px); }
.archive-heading p { margin:0; color:#655147; }
.history-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
.project-list { display:grid; gap:42px; }
.project-list-card { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr); background:#fffdf9; box-shadow:0 14px 36px rgba(43,27,20,.08); }
.project-list-visual { display:block; max-height:650px; overflow:hidden; }
.project-list-visual img { width:100%; height:650px; object-fit:cover; object-position:top; }
.project-list-body { align-self:center; padding:54px; }
.project-list-body h2 { margin:8px 0 14px; font-family:"Noto Serif TC",serif; font-size:clamp(38px,4vw,56px); letter-spacing:.08em; }
.project-list-body p { margin:0 0 28px; color:#655147; }
.history-card { border:0; box-shadow:0 12px 35px rgba(43,27,20,.08); }
.history-card > img { height:280px; object-fit:cover; }
.history-body { padding:24px; }
.history-card h2 { font-family:"Noto Serif TC",serif; }
.project-hero { background:#fffdf9; padding:105px 0 66px; }
.project-hero h1 { font-size:clamp(46px,6vw,76px); }
.ruyuan-image { background:#fff; }
.ruyuan-image img { width:100%; }
.narrow { max-width:760px; }
.ruyuan-visit { padding:92px 0; background:#f2ede5; text-align:center; }
.ruyuan-visit h2,.ruyuan-map h2 { margin:8px 0 14px; font-family:"Noto Serif TC",serif; font-size:clamp(32px,4vw,48px); }
.ruyuan-visit p { color:#655147; }
.contact-strip-actions { display:flex; flex-wrap:wrap; justify-content:center; gap:10px; margin-top:30px; }
.ruyuan-map { padding:92px 0; background:#fffdf9; text-align:center; }
.ruyuan-map iframe { width:100%; height:410px; border:0; margin-top:24px; }
.map-link { color:var(--accent); font-weight:700; }
.ruyuan-disclaimer { padding:35px 0; background:var(--dark); color:#e5d8cf; text-align:center; }
.ruyuan-disclaimer p { margin:4px 0; }
.contact-strip { background:var(--dark); }
@media (max-width:760px) {
  .site-nav ul { gap:11px; font-size:12px; }
  .hero-image { min-height:540px; }
  .hero-copy { padding:100px 0 70px; }
  .split-intro,.featured-project-grid { grid-template-columns:1fr; gap:42px; }
  .split-intro-image { box-shadow:12px 12px 0 #e9e0d7; }
  .featured-project-visual { max-height:590px; }
  .featured-project-visual img { height:570px; }
  .history-teaser-grid { grid-template-columns:repeat(2,1fr); gap:12px; }
  .history-teaser-card,.history-teaser-card img { min-height:230px; height:230px; }
  .history-teaser-card span { left:14px; bottom:12px; font-size:19px; }
  .history-grid { grid-template-columns:1fr; }
  .project-list-card { grid-template-columns:1fr; }
  .project-list-visual img { height:500px; }
  .project-list-body { padding:32px 24px 38px; }
  .ruyuan-map iframe { height:320px; }
}
