/* ============================================================
   好家來 Homoney v11 - 多頁式共用樣式
   品牌:森林綠 #1F4A3C + 古典金 #C9A449/#B8893B + 米白 #FAF8F3
   ============================================================ */

:root{
  --green-deep:#1F4A3C;
  --green-mid:#2E6650;
  --green-soft:#52B88A;
  --gold:#C9A449;
  --gold-dark:#B8893B;
  --gold-light:#D9B870;
  --cream:#FAF8F3;
  --cream-soft:#F5F2EA;
  --ink:#1A1A1A;
  --ink-soft:#4A4A4A;
  --line:#E8E2D0;
  --shadow:0 8px 24px rgba(31,74,60,0.08);
  --shadow-lg:0 20px 50px rgba(31,74,60,0.12);
  --radius:14px;
  --radius-lg:24px;
  /* === 字形 v11.3 改俐落版:PingFang TC + Inter === */
  --font-tc:'PingFang TC','Noto Sans TC',-apple-system,BlinkMacSystemFont,'Microsoft JhengHei',sans-serif;
  --font-en:'Inter','PingFang TC',-apple-system,BlinkMacSystemFont,sans-serif;
  --font-num:'Inter','PingFang TC',-apple-system,sans-serif;
}

*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;}
body{
  font-family:var(--font-tc);
  color:var(--ink);
  background:var(--cream);
  line-height:1.68;
  font-size:16px;
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  text-rendering:optimizeLegibility;
  font-feature-settings:"tnum" 1, "ss01" 1;
}
h1,h2,h3,h4{letter-spacing:-0.025em;font-feature-settings:"palt" 1;}
img{max-width:100%;height:auto;display:block;}
a{color:inherit;text-decoration:none;}

/* ============================================================
   Nav (桌機:水平 + hover 下拉  / 手機:漢堡 + 全螢幕)
   ============================================================ */
.nav{
  position:fixed;top:0;left:0;right:0;z-index:1000;
  background:rgba(15,46,37,0.94);
  backdrop-filter:blur(14px) saturate(140%);
  border-bottom:1px solid rgba(201,164,73,0.42);
  box-shadow:0 4px 18px rgba(0,0,0,0.18);
  transition:all .3s;
}
.nav-inner{
  max-width:1280px;margin:0 auto;
  display:flex;align-items:center;justify-content:space-between;
  padding:14px 24px;
}
.nav-logo{display:flex;align-items:center;gap:12px;}
.nav-logo svg{flex-shrink:0;}
.nav-logo-text{display:flex;flex-direction:column;line-height:1.1;}
.nav-logo-main{font-size:20px;font-weight:800;color:#fff;letter-spacing:.5px;}
.nav-logo-sub{font-size:11px;color:var(--gold-light);font-family:var(--font-en);letter-spacing:1.5px;margin-top:2px;}

.nav-links{display:flex;align-items:center;gap:4px;list-style:none;}
.nav-item{position:relative;}
.nav-item > a{
  display:flex;align-items:center;gap:4px;
  padding:10px 14px;
  font-size:15px;font-weight:500;color:rgba(255,255,255,.9);
  border-radius:8px;
  transition:all .2s;
  cursor:pointer;
}
.nav-item > a:hover{color:var(--gold-light);background:rgba(255,255,255,.06);}
.nav-item.active > a{color:var(--gold-light);}
.nav-caret{font-size:10px;opacity:.7;transition:transform .2s;}
.nav-item:hover .nav-caret{transform:rotate(180deg);}

/* 下拉選單 */
.nav-dropdown{
  position:absolute;top:100%;left:50%;transform:translateX(-50%) translateY(8px);
  min-width:240px;
  background:#fff;
  border:1px solid var(--line);
  border-radius:var(--radius);
  box-shadow:var(--shadow-lg);
  padding:8px;
  opacity:0;visibility:hidden;
  transition:all .2s;
  pointer-events:none;
}
.nav-item:hover .nav-dropdown,
.nav-item:focus-within .nav-dropdown{
  opacity:1;visibility:visible;transform:translateX(-50%) translateY(0);
  pointer-events:auto;
}
.nav-dropdown a{
  display:block;
  padding:12px 16px;
  font-size:14px;font-weight:500;color:var(--ink);
  border-radius:8px;
  transition:all .15s;
}
.nav-dropdown a:hover{background:var(--cream-soft);color:var(--green-deep);padding-left:20px;}
.nav-dropdown .sub-desc{
  font-size:11px;color:var(--ink-soft);font-weight:400;margin-top:2px;
}

.nav-cta{
  display:inline-flex;align-items:center;gap:6px;
  padding:11px 22px;
  font-size:14px;font-weight:700;
  background:linear-gradient(135deg,var(--gold) 0%,var(--gold-dark) 100%);
  color:#fff;
  border-radius:99px;
  margin-left:8px;
  box-shadow:0 4px 12px rgba(201,162,75,.3);
  transition:all .25s;
}
.nav-cta:hover{transform:translateY(-2px);box-shadow:0 6px 18px rgba(201,162,75,.45);}

.nav-hamburger{
  display:none;
  width:44px;height:44px;
  background:transparent;border:none;cursor:pointer;
  flex-direction:column;justify-content:center;align-items:center;gap:5px;
}
.nav-hamburger span{display:block;width:24px;height:2px;background:#fff;border-radius:2px;transition:all .25s;}
.nav-hamburger.open span:nth-child(1){transform:translateY(7px) rotate(45deg);}
.nav-hamburger.open span:nth-child(2){opacity:0;}
.nav-hamburger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}

/* 手機 nav 全螢幕展開 */
@media (max-width:1024px){
  .nav-links{
    position:fixed;top:0;right:0;
    width:min(360px,85vw);height:100vh;
    background:var(--green-deep);
    flex-direction:column;
    align-items:stretch;
    padding:88px 20px 32px;
    gap:0;
    transform:translateX(100%);
    transition:transform .3s;
    overflow-y:auto;
    box-shadow:-20px 0 60px rgba(0,0,0,.3);
  }
  .nav-links.open{transform:translateX(0);}
  .nav-item{width:100%;}
  .nav-item > a{padding:16px 20px;border-radius:10px;font-size:16px;}
  .nav-dropdown{
    position:static;transform:none;
    background:transparent;border:none;box-shadow:none;
    padding:0 0 0 16px;
    opacity:1;visibility:visible;pointer-events:auto;
    max-height:0;overflow:hidden;transition:max-height .3s;
  }
  .nav-item.open-mobile .nav-dropdown{max-height:500px;}
  .nav-dropdown a{color:rgba(255,255,255,.7);padding:10px 16px;}
  .nav-dropdown a:hover{background:rgba(255,255,255,.06);color:var(--gold-light);}
  .nav-dropdown .sub-desc{color:rgba(255,255,255,.4);}
  .nav-cta{
    margin:12px 20px 0;
    justify-content:center;
  }
  .nav-hamburger{display:flex;z-index:1100;position:relative;}
}

/* ============================================================
   Hero & Section 通用
   ============================================================ */
.page-hero{
  padding:160px 24px 80px;
  background:linear-gradient(180deg,var(--green-deep) 0%,var(--green-mid) 100%);
  color:#fff;
  text-align:center;
  position:relative;
  overflow:hidden;
}
.page-hero::before{
  content:'';position:absolute;inset:0;
  background:
    radial-gradient(circle at 20% 30%,rgba(201,162,75,.15),transparent 60%),
    radial-gradient(circle at 80% 70%,rgba(82,184,138,.15),transparent 60%);
  pointer-events:none;
}
.page-hero-inner{max-width:880px;margin:0 auto;position:relative;}
.page-hero-eyebrow{
  display:inline-block;
  font-family:var(--font-en);
  font-size:13px;letter-spacing:3px;font-weight:600;
  color:var(--gold-light);
  margin-bottom:18px;
  padding:6px 18px;
  border:1px solid rgba(201,162,75,.4);
  border-radius:99px;
}
.page-hero h1{
  font-size:clamp(32px,5vw,52px);
  font-weight:900;
  line-height:1.2;
  letter-spacing:-.5px;
  margin-bottom:20px;
}
.page-hero p.lead{
  font-size:clamp(15px,2vw,18px);
  color:rgba(255,255,255,.85);
  max-width:680px;margin:0 auto;
  line-height:1.8;
}

section.section{padding:80px 24px;}
section.section.alt{background:#fff;}
section.section.cream{background:var(--cream-soft);}

.section-inner{max-width:1180px;margin:0 auto;}
.section-eyebrow{
  font-family:var(--font-en);
  font-size:12px;letter-spacing:3px;font-weight:700;
  color:var(--gold-dark);
  margin-bottom:14px;
  text-align:center;
}
.section-title{
  font-size:clamp(26px,3.8vw,40px);
  font-weight:900;
  color:var(--green-deep);
  text-align:center;
  line-height:1.3;
  margin-bottom:18px;
}
.section-sub{
  font-size:clamp(15px,1.8vw,17px);
  color:var(--ink-soft);
  text-align:center;
  max-width:720px;
  margin:0 auto 56px;
  line-height:1.8;
}

/* 按鈕 */
.btn-primary{
  display:inline-flex;align-items:center;gap:8px;
  padding:14px 32px;
  font-size:15px;font-weight:700;
  background:linear-gradient(135deg,var(--gold) 0%,var(--gold-dark) 100%);
  color:#fff;
  border-radius:99px;
  border:none;cursor:pointer;
  box-shadow:0 6px 16px rgba(201,162,75,.3);
  transition:all .25s;
}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(201,162,75,.45);}

.btn-secondary{
  display:inline-flex;align-items:center;gap:8px;
  padding:14px 32px;
  font-size:15px;font-weight:600;
  background:transparent;color:var(--green-deep);
  border:1.5px solid var(--green-deep);
  border-radius:99px;
  cursor:pointer;
  transition:all .2s;
}
.btn-secondary:hover{background:var(--green-deep);color:#fff;}

/* 卡片 */
.card{
  background:#fff;
  border:1px solid var(--line);
  border-radius:var(--radius);
  padding:32px;
  transition:all .25s;
}
.card:hover{transform:translateY(-4px);box-shadow:var(--shadow);border-color:rgba(201,162,75,.3);}

.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;}
@media (max-width:768px){
  .grid-2,.grid-3,.grid-4{grid-template-columns:1fr;}
}

/* ============================================================
   Footer
   ============================================================ */
.footer{
  background:var(--green-deep);
  color:rgba(255,255,255,.85);
  padding:64px 24px 32px;
}
.footer-inner{max-width:1180px;margin:0 auto;}
.footer-grid{
  display:grid;grid-template-columns:2fr 1fr 1fr 1fr;
  gap:48px;margin-bottom:48px;
}
@media (max-width:768px){.footer-grid{grid-template-columns:1fr;gap:32px;}}

.footer-brand h3{font-size:20px;font-weight:800;color:#fff;margin-bottom:8px;}
.footer-brand p{font-size:14px;color:rgba(255,255,255,.6);line-height:1.7;margin-bottom:16px;}
.footer-col h4{font-size:13px;font-weight:700;color:var(--gold-light);letter-spacing:2px;margin-bottom:18px;text-transform:uppercase;}
.footer-col a{display:block;font-size:14px;color:rgba(255,255,255,.7);padding:6px 0;transition:color .15s;}
.footer-col a:hover{color:var(--gold-light);}
.footer-bottom{
  padding-top:24px;
  border-top:1px solid rgba(255,255,255,.1);
  display:flex;justify-content:space-between;align-items:center;
  font-size:12px;color:rgba(255,255,255,.5);
  flex-wrap:wrap;gap:12px;
}
.footer-disclaimer{
  margin-top:24px;
  font-size:12px;color:rgba(255,255,255,.5);
  line-height:1.7;
}

/* Floating CTA(報名按鈕浮動) */
.float-cta{
  position:fixed;bottom:24px;right:24px;z-index:900;
  display:inline-flex;align-items:center;gap:8px;
  padding:14px 24px;
  font-size:14px;font-weight:700;
  background:linear-gradient(135deg,var(--gold) 0%,var(--gold-dark) 100%);
  color:#fff;
  border-radius:99px;
  box-shadow:0 10px 30px rgba(201,162,75,.4);
  transition:all .25s;
}
.float-cta:hover{transform:translateY(-3px);box-shadow:0 14px 36px rgba(201,162,75,.55);}
@media (max-width:600px){.float-cta{bottom:16px;right:16px;padding:12px 18px;font-size:13px;}}

/* Utilities */
.center{text-align:center;}
.mt-32{margin-top:32px;}
.mt-48{margin-top:48px;}
.mb-12{margin-bottom:12px;}
.mb-24{margin-bottom:24px;}
.text-gold{color:var(--gold-dark);}
.text-green{color:var(--green-deep);}
.font-en{font-family:var(--font-en);letter-spacing:1.5px;}
