/* Reset & 基礎設定 */
* { margin:0; padding:0; box-sizing:border-box; }
body {
  font-family: 'Segoe UI', 'PingFang TC', sans-serif;
  background: #fff;
  color: #222;
  min-height: 100vh;
  line-height: 1.5;
  position:relative;
  overflow-x:hidden;
}

/* 動態背景效果：流動線條 */
.bg-lines {
  position:fixed;
  top:0; left:0; width:100vw; height:100vh;
  pointer-events:none;
  z-index:0;
}

nav {
  width:100vw;
  background:#fff;
  border-bottom:1.5px solid #ffa00040;
  box-shadow:0 2px 8px #0001;
  position:sticky; top:0; left:0; z-index:10;
}
.container { width:95%; max-width:1200px; margin:0 auto; position:relative; z-index:2; }
.logo { font-size:1.75em; letter-spacing:2px; color: #ffa000; font-weight:bold; padding:0.8em 0; }

.menu {
  display:flex; gap:1em; align-items:center; justify-content:flex-end;
}
.menu a {
  color:#222; text-decoration:none; font-weight:500; padding:0.6em 1em; border-radius:8px;
  transition: background .2s, color .2s;
}
.menu a.active, .menu a:hover { background:#ffa00022; color: #ffa000; }
.mobile-menu-btn { display:none; font-size:2em; background:none; border:none; color:#ffa000; margin-left:auto; cursor:pointer; }
@media (max-width:850px) {
  .menu { display:none; flex-direction:column; background:#fff; position:fixed; right:0; top:65px; width:200px; box-shadow: -8px 0 24px #ffa00030; border-top:2px solid #ffa000; border-radius:10px 0 0 10px;}
  .menu.open { display:flex; }
  .mobile-menu-btn { display:block; }
  .logo { font-size: 1.3em; }
}

/* Hero 區塊 */
.hero {
  padding:4em 0 2em 0;
  text-align:center;
  position:relative; z-index:2;
}
.hero h1 {
  font-size:2.4em; color:#222;
  margin-bottom:0.5em;
  font-weight:700;
}
.hero .tagline { color: #ffa000; font-size:1.25em; margin-bottom:1.2em; }
.hero .cta-btn {
  padding:0.75em 2em;
  background:#ffa000; border:none; color:#fff; border-radius:32px;
  font-size:1.12em; font-weight:700; cursor:pointer;
  box-shadow:0 2px 16px #ffa00044;
  transition: background .2s;
}
.hero .cta-btn:hover { background: #fb8c00; }

/* Section 標題 */
.section-title {
  font-size:2em;
  font-weight: bold;
  color: #ffa000;
  margin: 2em 0 1em 0;
  text-align:center;
  letter-spacing:1px;
}

/* 導師卡片列表 */
.tutor-list {
  display:flex; flex-wrap:wrap; gap:1.5em; justify-content:center;
}
.tutor-card {
  background:#fff; border-radius:12px; box-shadow:0 2px 16px #0001;
  width:280px; overflow:hidden; transition: transform .2s;
  display:flex; flex-direction:column; align-items:center;
  position:relative;
}
.tutor-card:hover { transform:translateY(-4px) scale(1.02);}
.tutor-photo {
  width:100%; aspect-ratio:1/1; object-fit:cover; background:#ffa00010;
}
.tutor-info { padding:1em; text-align:center;}
.tutor-info h3 { color:#ffa000; font-size:1.1em;}
.tutor-info .tags { color:#666; font-size:0.92em; margin:0.5em 0; }
.tutor-info .bio { font-size:0.95em; color:#444; }
/* 飛入飛出淡入效果 */
.fade-in { opacity:0; transform:translateY(26px); transition:all .8s cubic-bezier(.36,.54,.45,1.57);}
.fade-in.visible { opacity:1; transform:translateY(0);}
@media (max-width:600px) {
  .tutor-list { flex-direction:column; gap:1em; }
  .tutor-card { width:96vw; max-width:350px;}
}

/* 最新個案 */
.case-list { max-width:700px; margin:0 auto; display:flex; flex-direction:column; gap:1.5em;}
.case-card {
  border-left:6px solid #ffa000; background:#fffce7; border-radius:9px; box-shadow:0 2px 12px #ffa00008; 
  padding:1em 1.5em;
}
.case-card .case-title { font-weight: 600; font-size: 1.13em; color:#ffa000; margin-bottom:0.5em;}
.case-card .case-meta { font-size:0.96em; color:#999;}
@media (max-width:700px) {
  .case-card { padding:0.8em 1em; }
}

/* Form/配對表單 */
.find-tutor-form, .become-tutor-form {
  background:#fff; box-shadow:0 2px 16px #0001; border-radius:14px; padding:2em; max-width:410px; margin:0 auto;
}
.find-tutor-form h2, .become-tutor-form h2 { color:#ffa000; font-size:1.2em;}
input, select, textarea {
  width:100%; padding:10px 12px; border:1.5px solid #eee; border-radius:6px; margin-bottom:1em;
  font-size:1em; background:#fff;
}
input:focus, select:focus, textarea:focus { outline:2px solid #ffa00044; }
button[type="submit"] {
  background:#ffa000; color:#fff; font-weight:700; border:none; border-radius:32px;
  padding:0.7em 1.5em; box-shadow:0 2px 12px #ffa00027; font-size:1.1em; cursor:pointer;
}
button[type="submit"]:hover { background:#fb8c00; }
.form-note { color:#666; font-size:0.95em; margin-bottom:1em; }
@media (max-width:500px) {
  .find-tutor-form, .become-tutor-form { padding:1em; }
}

/* WhatsApp 固定按鈕 */
.whatsapp-float {
  position:fixed; right:20px; bottom:24px; z-index:50;
}
.whatsapp-float a {
  display:flex; align-items:center; justify-content:center; 
  background:#25D366; color:#fff; width:54px; height:54px;
  border-radius:50%; box-shadow:0 2px 12px #25d36650;
  font-size:2em; transition:transform .15s; text-decoration:none;
}
.whatsapp-float a:hover { transform:scale(1.09);}

/**********************************************/
a.cta-btn {
  background: #fff;
  color: #ffa000;
  border: 1px solid #ffa000;
  margin-left: 8px;
  PADDING: 10PX;
    LIST-STYLE: NONE;
}

