/* ===== 竝藤科技環保 內頁共用樣式 ===== */
:root{ --gold:#e0bd7e; --gold-bright:#f2d79a; --silver:#cfd3da; }
*{box-sizing:border-box; margin:0; padding:0; -webkit-text-size-adjust:100%; text-size-adjust:100%;}
html{scroll-behavior:smooth; overflow-x:clip;}
body{
  font-family:"Noto Sans TC","PingFang TC","Microsoft JhengHei",sans-serif;
  background:radial-gradient(120vmax 90vmax at 50% 18%, #0d0f15 0%, #07080b 55%, #000 100%);
  color:#fff; -webkit-font-smoothing:antialiased; overflow-x:clip;
}

/* ===== 金色火花場 ===== */
.sky{position:fixed; inset:0; z-index:0; overflow:hidden; pointer-events:none;}
.sky>div{position:absolute; pointer-events:none; mix-blend-mode:screen; background-repeat:no-repeat;}
.sky-specks{
  inset:-32% 0;
  background-image:
    radial-gradient(circle at 4% 3%, rgba(255,226,153,.72) 0 1.1px, transparent 2.3px),
    radial-gradient(circle at 15% 18%, rgba(255,211,108,.7) 0 1.35px, transparent 2.7px),
    radial-gradient(circle at 22% 63%, rgba(255,232,166,.58) 0 .95px, transparent 2px),
    radial-gradient(circle at 36% 45%, rgba(255,226,153,.68) 0 1.25px, transparent 2.5px),
    radial-gradient(circle at 51% 71%, rgba(255,211,108,.58) 0 1.05px, transparent 2.2px),
    radial-gradient(circle at 59% 13%, rgba(255,232,166,.64) 0 1.2px, transparent 2.5px),
    radial-gradient(circle at 73% 5%, rgba(255,226,153,.66) 0 1.3px, transparent 2.65px),
    radial-gradient(circle at 81% 36%, rgba(255,239,190,.62) 0 .95px, transparent 2px),
    radial-gradient(circle at 94% 56%, rgba(255,232,166,.6) 0 1px, transparent 2.15px),
    radial-gradient(circle at 32% 78%, rgba(255,226,153,.54) 0 1px, transparent 2.15px),
    radial-gradient(circle at 11% 92%, rgba(255,211,108,.52) 0 .9px, transparent 2px),
    radial-gradient(circle at 68% 88%, rgba(255,239,190,.5) 0 .8px, transparent 1.8px),
    radial-gradient(circle at 24% 48%, rgba(255,226,153,.54) 0 .95px, transparent 2px),
    radial-gradient(circle at 86% 92%, rgba(255,226,153,.5) 0 .9px, transparent 2px);
  filter:drop-shadow(0 0 .34rem rgba(255,226,138,.62));
  opacity:.7;
}
.sky-embers{
  inset:-36% 0;
  background-image:
    radial-gradient(circle at 7% 12%, rgba(255,231,151,.82) 0 1.7px, transparent 3.55px),
    radial-gradient(circle at 19% 38%, rgba(255,244,203,.76) 0 1.45px, transparent 3px),
    radial-gradient(circle at 41% 19%, rgba(255,220,141,.76) 0 1.35px, transparent 2.8px),
    radial-gradient(circle at 61% 7%, rgba(255,244,208,.72) 0 1.25px, transparent 2.7px),
    radial-gradient(circle at 76% 58%, rgba(255,219,132,.74) 0 1.4px, transparent 2.95px),
    radial-gradient(circle at 91% 34%, rgba(255,244,210,.78) 0 1.6px, transparent 3.35px),
    radial-gradient(circle at 46% 67%, rgba(255,211,108,.7) 0 1.5px, transparent 3.15px),
    radial-gradient(circle at 33% 94%, rgba(255,239,190,.58) 0 1px, transparent 2.2px);
  filter:drop-shadow(0 0 .4rem rgba(255,214,118,.62));
  opacity:.82;
}
.aurora{
  inset:-28% -15% 8% -15%; mix-blend-mode:screen; opacity:.5; filter:blur(55px) saturate(1.35);
  background:
    radial-gradient(ellipse 50% 42% at 32% 22%, rgba(64,222,158,.4), transparent 72%),
    radial-gradient(ellipse 46% 38% at 70% 18%, rgba(86,150,255,.28), transparent 74%);
}
.aurora::before,.aurora::after{content:""; position:absolute; inset:0; mix-blend-mode:screen; background-repeat:no-repeat;}
.aurora::before{background:linear-gradient(102deg, transparent 8%, rgba(72,235,176,.36) 27%, rgba(120,255,214,.28) 40%, rgba(96,170,255,.26) 54%, transparent 72%); filter:blur(40px);}
.aurora::after{background:linear-gradient(88deg, transparent 22%, rgba(168,104,255,.24) 42%, rgba(70,224,210,.24) 60%, transparent 80%); filter:blur(48px);}
/* 金光閃爍：只在 PC 跑（兩層不同步、形成閃爍）；手機維持靜止、無背景特效 */
@media(min-width:769px){
  .sky-specks{animation:yc-fade 5.6s ease-in-out infinite;}
  .sky-embers{animation:yc-fade 5.1s ease-in-out infinite;}
  section:not(.hero):not(.stack-sec)::before{animation:aurora-line-breathe 3.4s ease-in-out infinite;}
}
@keyframes yc-fall-a{0%{transform:translate3d(-.2rem,-7%,0)}50%{transform:translate3d(.5rem,4%,0)}100%{transform:translate3d(-.1rem,18%,0)}}
@keyframes yc-fall-b{0%{transform:translate3d(.35rem,-9%,0)}48%{transform:translate3d(-.45rem,2%,0)}100%{transform:translate3d(.25rem,16%,0)}}
@keyframes yc-fade{0%,100%{opacity:.28}18%{opacity:.68}47%{opacity:.34}74%{opacity:.76}}
@keyframes aurora-1{0%{transform:translate(-5%,-3%) scale(1.05)}100%{transform:translate(6%,4%) scale(1.2)}}
@keyframes aurora-2{0%{transform:translate(-9%,0) skewX(-10deg)}100%{transform:translate(11%,2%) skewX(8deg)}}
@keyframes aurora-3{0%{transform:translate(7%,1%) skewX(7deg)}100%{transform:translate(-10%,-2%) skewX(-8deg)}}
.flake{
  position:absolute; top:-8vh; left:var(--x); width:var(--s); height:var(--s); border-radius:999px;
  background:radial-gradient(circle, rgba(255,246,214,.98) 0 28%, rgba(255,214,118,.86) 42%, rgba(214,165,75,.46) 58%, transparent 72%);
  box-shadow:0 0 .56rem rgba(255,226,153,.72); filter:brightness(.88);
  opacity:0; transform:translate3d(0,-10vh,0) scale(.72);
  animation:yc-flake-fall var(--dur) linear infinite, yc-flake-glimmer var(--tw) ease-in-out infinite;
  animation-delay:var(--delay), var(--glow-delay); will-change:transform,opacity,filter;
}
@keyframes yc-flake-fall{0%{opacity:0;transform:translate3d(0,-10vh,0) scale(.68)}8%{opacity:var(--o)}24%{opacity:var(--o);transform:translate3d(var(--d1),20vh,0) scale(.95)}42%{opacity:.34;transform:translate3d(var(--d2),43vh,0) scale(.82)}56%{opacity:0;transform:translate3d(var(--d3),61vh,0) scale(.76)}64%{opacity:var(--o);transform:translate3d(var(--d4),76vh,0) scale(1)}84%{opacity:.52;transform:translate3d(var(--d2),96vh,0) scale(.9)}100%{opacity:0;transform:translate3d(var(--drift),112vh,0) scale(.72)}}
@keyframes yc-flake-glimmer{0%,100%{filter:brightness(.72)}28%{filter:brightness(1.38)}47%{filter:brightness(.86)}73%{filter:brightness(1.68)}}

/* ===== 右上雙球導航 ===== */
.nav-balls{position:fixed; top:24px; right:28px; z-index:40; display:flex; align-items:center; gap:16px;}
.nav-balls a{position:relative; display:grid; place-items:center; border-radius:50%; text-decoration:none; cursor:pointer;}
.nav-balls .lbl{position:absolute; top:50%; right:calc(100% + 10px); transform:translateY(-50%); white-space:nowrap; font-size:12px; letter-spacing:.14em; color:var(--gold); opacity:0; transition:opacity .25s; pointer-events:none;}

/* 右上 LOGO（每頁、連回首頁）*/
.brand{position:fixed; top:16px; left:50%; transform:translateX(-50%); z-index:41; display:flex; flex-direction:column; align-items:center; gap:6px; text-decoration:none;}
.brand img{height:70px; width:auto; filter:drop-shadow(0 2px 10px rgba(0,0,0,.55)); transition:transform .3s;}
.brand:hover img{transform:scale(1.06);}
.brand span{font-size:15px; letter-spacing:.18em; color:#fff; font-weight:600; text-shadow:0 1px 6px rgba(0,0,0,.5);}
@media(max-width:768px){
  .brand{top:12px;} .brand img{height:48px;} .brand span{font-size:11px; letter-spacing:.1em;}
  .nav-balls{top:16px; right:16px; gap:12px; flex-direction:column-reverse;}
}
.nav-balls a:hover .lbl{opacity:1;}
.home-ball{width:58px; height:58px; background:radial-gradient(circle at 36% 30%, #fff2d0, var(--gold) 45%, #9c7636 100%); box-shadow:0 0 18px rgba(224,189,126,.6), inset 0 -6px 14px rgba(0,0,0,.4); animation:home-pulse 2.2s ease-in-out infinite;}
.home-ball::after{content:"⌂"; font-size:24px; color:#3a2a10; font-weight:700;}
@keyframes home-pulse{0%,100%{box-shadow:0 0 16px rgba(224,189,126,.5), inset 0 -6px 14px rgba(0,0,0,.4); transform:scale(1);}50%{box-shadow:0 0 30px rgba(242,215,154,.95), 0 0 50px rgba(224,189,126,.45), inset 0 -6px 14px rgba(0,0,0,.4); transform:scale(1.06);}}
.quote-ball{width:40px; height:40px; background:radial-gradient(circle at 36% 30%, rgba(60,64,72,.9), rgba(24,26,30,.95)); border:1px solid rgba(224,189,126,.55); box-shadow:0 0 12px rgba(224,189,126,.25), inset 0 -4px 10px rgba(0,0,0,.5); transition:box-shadow .3s, transform .3s;}
.quote-ball::after{content:"✎"; font-size:17px; color:var(--gold);}
.quote-ball:hover{transform:scale(1.1); box-shadow:0 0 22px rgba(224,189,126,.6);}

/* ===== 內容 ===== */
main{position:relative; z-index:2;}
section{max-width:880px; margin:0 auto; padding:13vh 28px; position:relative;}
/* 每個區段頂端：極光色細線（手機靜止、PC 呼吸）*/
section:not(.hero):not(.stack-sec)::before{
  content:""; position:absolute; top:0; left:50%; transform:translateX(-50%);
  width:165px; height:2px; border-radius:2px; opacity:.72;
  background:linear-gradient(90deg, transparent, #4fe3b0 22%, #56a0ff 50%, #b06bff 78%, transparent);
  box-shadow:0 0 12px rgba(86,160,255,.45);
}
@keyframes aurora-line-breathe{
  0%,100%{opacity:.42; transform:translateX(-50%) scaleX(.78);}
  50%{opacity:1; transform:translateX(-50%) scaleX(1.18);}
}
/* Hero = 全橫幅大圖 */
.hero{position:relative; width:100vw; left:50%; transform:translateX(-50%); max-width:none; margin:0; padding:0; min-height:90vh; display:flex; align-items:center; justify-content:center; text-align:center; overflow:hidden;}
.hero-bg{position:absolute; inset:0; z-index:0;}
.hero-bg img{width:100%; height:100%; object-fit:cover; object-position:62% center; display:block;}
.hero-ph{position:absolute; inset:0; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:12px; background:radial-gradient(120% 100% at 50% 25%, #16181f, #0a0b0e 80%);}
.hero-ph .tag{font-size:12px; letter-spacing:.2em; color:var(--gold); border:1px solid rgba(224,189,126,.35); padding:5px 14px; border-radius:999px;}
.hero-ph .d{font-size:13px; color:rgba(255,255,255,.4); max-width:340px; line-height:1.7; padding:0 20px;}
.hero-veil{position:absolute; inset:0; z-index:1; background:linear-gradient(180deg, rgba(6,7,10,.5) 0%, rgba(6,7,10,.3) 38%, rgba(6,7,10,.82) 100%);}
.hero-copy{position:relative; z-index:2; max-width:780px; padding:132px 28px 96px; display:flex; flex-direction:column; align-items:center; gap:20px;}
.hero-lead{font-size:clamp(16px,2.3vw,21px); line-height:1.9; color:#fff; font-weight:300; max-width:640px;}
.hero-pitch{font-size:clamp(15px,2vw,18px); line-height:2.05; color:var(--silver); font-weight:300; max-width:680px; letter-spacing:.02em;}
.hero-copy .cta-btn{margin-top:14px;}
.hero-orb{position:relative; z-index:3; width:118px; height:118px; border-radius:50%; margin:-58px auto 0; background:#0e0f13;
  box-shadow:0 16px 40px rgba(0,0,0,.6), 0 0 30px rgba(224,189,126,.28), inset 0 1px 1px rgba(255,255,255,.12);}
.hero-orb img{width:100%; height:100%; border-radius:50%; display:block;}
@media(max-width:768px){
  .hero-copy{padding:104px 22px 78px;}
  .hero-bg img{object-position:68% center;}
  .hero-orb{width:94px; height:94px; margin-top:-46px;}
}
.kicker{font-size:13px; letter-spacing:.5em; color:var(--gold); text-indent:.5em;}
h1{font-size:clamp(40px,8vw,76px); font-weight:800; letter-spacing:.12em; color:#fff; text-shadow:0 4px 30px rgba(0,0,0,.6);}
@media(max-width:768px){h1{font-size:46px;}}
.sub{font-size:clamp(16px,2.4vw,20px); letter-spacing:.28em; color:var(--silver); font-weight:300;}
h2{font-size:clamp(26px,4vw,38px); font-weight:700; letter-spacing:.1em; color:var(--gold-bright); margin-bottom:34px; text-align:center;}
.ft{font-size:clamp(19px,2.6vw,27px); line-height:2.05; letter-spacing:.06em; font-weight:300; text-align:center; margin-bottom:18px;}
.ch{display:inline; color:#fff; transition:opacity .18s ease, color .18s ease; opacity:.16; will-change:opacity;}

.lead-list{list-style:none; max-width:680px; margin:32px auto 0; display:flex; flex-direction:column; gap:16px;}
.lead-list li{position:relative; padding-left:30px; font-size:17px; line-height:1.85; color:var(--silver); font-weight:300; text-align:left;}
.lead-list li::before{content:"✦"; position:absolute; left:0; top:2px; color:var(--gold);}
.stat{margin-top:40px; font-size:clamp(18px,2.6vw,24px); color:var(--gold-bright); letter-spacing:.06em; text-align:center; line-height:1.7;}

.rats-grid{display:grid; grid-template-columns:repeat(2,1fr); gap:26px; margin-top:18px;}
@media(max-width:600px){.rats-grid{grid-template-columns:1fr;}}
.rat-card{border:1px solid rgba(224,189,126,.2); border-radius:18px; padding:26px 22px; background:rgba(255,255,255,.015); text-align:center; transition:border-color .35s, transform .35s, box-shadow .35s;}
.rat-card:hover{border-color:rgba(224,189,126,.55); transform:translateY(-4px); box-shadow:0 14px 40px rgba(0,0,0,.5), 0 0 28px rgba(224,189,126,.12);}
.rat-card img{width:78%; max-width:230px; height:auto; margin-bottom:14px; opacity:.92;}
.rat-card .stage{font-size:12px; letter-spacing:.3em; color:var(--gold); margin-bottom:6px;}
.rat-card .name{font-size:20px; letter-spacing:.16em; color:#fff; font-weight:500;}
.rat-card .size{font-size:13px; letter-spacing:.08em; color:var(--gold); margin-top:6px;}
.rat-card .desc{font-size:13.5px; line-height:1.8; color:var(--silver); margin-top:12px; font-weight:300; text-align:justify; letter-spacing:.02em;}

.cycle{display:flex; justify-content:center; margin-top:10px;}
.cycle img{width:min(360px,80%); height:auto; filter:drop-shadow(0 8px 30px rgba(224,189,126,.18));}

.methods{display:grid; grid-template-columns:repeat(3,1fr); gap:20px; margin-top:30px;}
@media(max-width:700px){.methods{grid-template-columns:1fr;}}
.method{text-align:center; padding:24px 16px; border-top:1px solid rgba(224,189,126,.28);}
.method .n{font-size:13px; letter-spacing:.3em; color:var(--gold);}
.method .t{font-size:22px; letter-spacing:.12em; margin:10px 0 8px; color:#fff;}
.method .d{font-size:14.5px; line-height:1.8; color:var(--silver); font-weight:300;}

.ai-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin-top:26px;}
@media(max-width:700px){.ai-grid{grid-template-columns:1fr;}}
.ai-card{position:relative; overflow:hidden; min-height:300px; border:1px solid rgba(224,189,126,.2); border-radius:16px; background:#0d0f13; box-shadow:0 20px 56px rgba(0,0,0,.36);}
.ai-card img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; display:block; transition:transform .6s ease, filter .6s ease;}
.ai-card::after{content:""; position:absolute; inset:0; background:linear-gradient(180deg, rgba(6,7,10,.06) 0%, rgba(6,7,10,.28) 42%, rgba(6,7,10,.88) 100%);}
.ai-card-copy{position:absolute; z-index:2; left:20px; right:20px; bottom:20px; text-align:left;}
.ai-card-copy .tag{display:inline-block; font-size:10px; letter-spacing:.2em; color:#16110a; background:linear-gradient(92deg,#f2d79a,var(--gold)); border-radius:999px; padding:5px 10px; margin-bottom:12px; font-weight:800;}
.ai-card-copy h3{font-size:18px; color:#fff; font-weight:500; margin:0 0 8px; letter-spacing:.03em;}
.ai-card-copy p{font-size:13.5px; color:var(--silver); line-height:1.7; font-weight:300; margin:0;}
.ai-card:hover img{transform:scale(1.04); filter:saturate(1.06);}

.cta{text-align:center;}
.price{font-size:clamp(28px,5vw,44px); font-weight:800; color:var(--gold-bright); letter-spacing:.06em;}
.price small{font-size:.5em; color:var(--silver); font-weight:300; letter-spacing:.1em;}
.warranty{font-size:15px; letter-spacing:.14em; color:var(--silver); margin-top:14px; font-weight:300; line-height:1.7;}
.cta-btn{display:inline-block; margin-top:34px; padding:16px 46px; border-radius:999px; background:linear-gradient(135deg, var(--gold-bright), var(--gold) 55%, #a9803f); color:#241a08; font-size:18px; font-weight:700; letter-spacing:.16em; cursor:pointer; border:none; box-shadow:0 10px 30px rgba(224,189,126,.3); transition:transform .25s, box-shadow .25s;}
.cta-btn:hover{transform:translateY(-3px); box-shadow:0 16px 40px rgba(224,189,126,.5);}


footer{position:relative; z-index:2; text-align:center; padding:50px 20px 70px; color:rgba(255,255,255,.4); font-size:13px; letter-spacing:.1em; line-height:2;}
footer .credit{margin-top:16px; font-size:12px; letter-spacing:.1em; color:rgba(255,255,255,.32);}
footer .credit a{color:rgba(224,189,126,.8); text-decoration:none; border-bottom:1px solid rgba(224,189,126,.3); padding-bottom:1px;}
footer .credit a:hover{color:var(--gold-bright); border-color:var(--gold);}

/* ===== 估價表單 Modal ===== */
.modal-bg{position:fixed; inset:0; z-index:60; display:grid; place-items:center; padding:24px; background:rgba(4,5,8,.82); backdrop-filter:blur(8px); opacity:0; pointer-events:none; transition:opacity .4s;}
.modal-bg.open{opacity:1; pointer-events:auto;}
.modal{position:relative; width:min(440px,100%); background:linear-gradient(160deg, #1a1d23, #0e0f13); border:1px solid rgba(224,189,126,.4); border-radius:22px; padding:38px 32px; box-shadow:0 30px 80px rgba(0,0,0,.7), 0 0 50px rgba(224,189,126,.12); transform:translateY(28px) scale(.96); opacity:0; transition:transform .45s cubic-bezier(.2,.7,.2,1), opacity .45s;}
.modal-bg.open .modal{transform:translateY(0) scale(1); opacity:1;}
.modal h3{font-size:24px; color:var(--gold-bright); letter-spacing:.1em; text-align:center; margin-bottom:6px;}
.modal p.tip{font-size:13px; color:var(--silver); text-align:center; margin-bottom:24px; letter-spacing:.08em;}
.modal label{display:block; font-size:13px; color:var(--gold); letter-spacing:.1em; margin:14px 0 6px;}
.modal input, .modal select{width:100%; padding:12px 14px; border-radius:10px; background:rgba(255,255,255,.04); border:1px solid rgba(224,189,126,.25); color:#fff; font-size:15px; font-family:inherit;}
.modal input:focus, .modal select:focus{outline:none; border-color:var(--gold);}
.modal .row{display:flex; gap:12px;}
.modal .row>div{flex:1;}
.modal .submit{width:100%; margin-top:26px;}
.modal textarea, .c-form textarea{width:100%; padding:12px 14px; border-radius:10px; background:rgba(255,255,255,.04); border:1px solid rgba(224,189,126,.25); color:#fff; font-size:15px; font-family:inherit; resize:vertical; min-height:76px;}
.modal textarea:focus, .c-form textarea:focus{outline:none; border-color:var(--gold);}
.modal{max-height:calc(100dvh - 32px); overflow-y:auto;}
.hp{position:absolute !important; left:-9999px; width:1px; height:1px; opacity:0;}
.q-msg{min-height:1.4em; margin-top:12px; font-size:14px; text-align:center; letter-spacing:.06em; color:var(--silver);}
.q-msg.ok{color:var(--gold-bright);} .q-msg.err{color:#ff8a7a;}
[data-quote-submit][disabled]{opacity:.6; cursor:wait;}
.q-bad{border-color:#ff8a7a !important;}
.modal .close{position:absolute; top:16px; right:20px; background:none; border:none; color:var(--silver); font-size:26px; cursor:pointer; line-height:1;}

/* ===== 捲動換圖堆疊卡（學 final-bay/about）===== */
.stack-sec{position:relative; max-width:none; margin:0; padding:0;}
.stack-wrap{position:sticky; top:0; height:100vh; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:26px; padding:0 24px;}
.stack-wrap h2{margin-bottom:4px;}
.stack{position:relative; width:min(588px,72vw); aspect-ratio:16/10; margin:9vh auto 0;}
.frame{position:absolute; inset:0; border-radius:22px; overflow:hidden; pointer-events:none;
  background:#0e0f13; box-shadow:0 26px 70px rgba(0,0,0,.6), 0 0 0 1px rgba(224,189,126,.12);
  transform:translateY(210%); will-change:transform;}
.frame img{width:100%; height:100%; object-fit:cover; display:block;}
.frame-in{display:flex; flex-direction:column; align-items:center; justify-content:center; gap:14px; text-align:center; padding:28px; width:100%; height:100%; border:1.5px dashed rgba(224,189,126,.4); border-radius:22px;}
.frame .ficon{font-size:42px;}
.frame .tag{font-size:11px; letter-spacing:.2em; color:var(--gold); border:1px solid rgba(224,189,126,.4); padding:4px 12px; border-radius:999px;}
.frame .fdesc{font-size:14px; color:var(--silver); line-height:1.7; max-width:320px;}
.stack-caption{font-size:clamp(24px,3.8vw,40px); font-weight:700; letter-spacing:.1em; color:var(--gold-bright); min-height:1.4em; text-align:center; text-shadow:0 2px 18px rgba(0,0,0,.55); margin-bottom:6px;}
.cap-in{animation:cap-fade .5s ease;}
@keyframes cap-fade{from{opacity:0; transform:translateY(10px)} to{opacity:1; transform:translateY(0)}}
.stack-dots{display:flex; gap:10px;}
.stack-dots span{width:8px; height:8px; border-radius:50%; background:rgba(255,255,255,.22); transition:background .3s, transform .3s;}
.stack-dots span.on{background:var(--gold); transform:scale(1.35);}
.stack-hint{font-size:12px; letter-spacing:.2em; color:rgba(255,255,255,.4);}

/* ===== 浮動聯絡鈕（免費估價 / 電話 / Messenger）===== */
.fab{position:fixed; right:20px; bottom:24px; z-index:45; display:flex; flex-direction:column; align-items:center; gap:12px;}
.fab-quote{display:flex; align-items:center; justify-content:center; width:52px; padding:16px 0; border-radius:30px; cursor:pointer; text-decoration:none;
  writing-mode:vertical-rl; text-orientation:upright; font-size:16px; font-weight:800; letter-spacing:.08em; color:#241a08;
  background:linear-gradient(160deg, var(--gold-bright), var(--gold) 55%, #b08a45);
  box-shadow:0 8px 24px rgba(224,189,126,.4);}
.fab-quote:hover{filter:brightness(1.06);}
@keyframes fab-breathe{0%,100%{box-shadow:0 8px 22px rgba(224,189,126,.35); transform:scale(1);}50%{box-shadow:0 10px 34px rgba(242,215,154,.85), 0 0 40px rgba(224,189,126,.4); transform:scale(1.05);}}
.fab-btn{width:48px; height:48px; border-radius:50%; display:grid; place-items:center; text-decoration:none; box-shadow:0 6px 18px rgba(0,0,0,.45); transition:transform .25s;}
.fab-btn:hover{transform:scale(1.1);}
.fab-tel{background:radial-gradient(circle at 35% 30%, #2c2f37, #14151a); border:1px solid rgba(224,189,126,.55); color:var(--gold);}
.fab-msg{background:linear-gradient(135deg,#00B2FF,#006AFF); color:#fff;}
@media(max-width:768px){
  .fab{right:14px; bottom:16px; gap:10px;}
  .fab-quote{width:44px; font-size:14px; padding:13px 0;}
  .fab-btn{width:42px; height:42px;}
}

/* ===== 加厚內容共用元件（SEO / GEO 區塊）===== */
/* 頁內 FAQ 手風琴（page.js 統一綁定） */
.pfaq{max-width:760px; margin:30px auto 0; text-align:left;}
.pfaq .faq-item{border-bottom:1px solid rgba(255,255,255,.08);}
.pfaq .faq-q{display:flex; justify-content:space-between; align-items:center; gap:16px; padding:20px 4px; cursor:pointer; font-size:clamp(15.5px,2.2vw,17.5px); color:#fff; font-weight:400; letter-spacing:.02em;}
.pfaq .faq-q::after{content:"+"; color:var(--gold); font-size:24px; line-height:1; transition:transform .35s; flex:0 0 auto;}
.pfaq .faq-item.open .faq-q::after{transform:rotate(45deg);}
.pfaq .faq-a{max-height:0; overflow:hidden; transition:max-height .45s ease, padding .45s ease; color:var(--silver); font-weight:300; line-height:1.95; font-size:15px;}
.pfaq .faq-item.open .faq-a{max-height:500px; padding:0 4px 22px;}
.pfaq .faq-a b{color:var(--gold);}

/* 對照表（白蟻 vs 螞蟻 等） */
.cmp-table{width:100%; max-width:760px; margin:30px auto 0; border-collapse:collapse; font-size:14.5px; line-height:1.8;}
.cmp-table th{color:var(--gold-bright); font-weight:500; letter-spacing:.08em; padding:12px 14px; border-bottom:1px solid rgba(224,189,126,.4); text-align:left; font-size:14px;}
.cmp-table td{color:var(--silver); font-weight:300; padding:12px 14px; border-bottom:1px solid rgba(255,255,255,.07); text-align:left; vertical-align:top;}
.cmp-table td:first-child{color:#fff; font-weight:400; white-space:nowrap;}
@media(max-width:600px){.cmp-table{font-size:13px;} .cmp-table th,.cmp-table td{padding:10px 8px;}}

/* 自我檢查清單 */
.check-list{list-style:none; max-width:680px; margin:30px auto 0; display:grid; grid-template-columns:1fr 1fr; gap:14px 26px;}
@media(max-width:640px){.check-list{grid-template-columns:1fr;}}
.check-list li{position:relative; padding-left:32px; font-size:15.5px; line-height:1.8; color:var(--silver); font-weight:300; text-align:left;}
.check-list li::before{content:"☑"; position:absolute; left:0; top:0; color:var(--gold); font-size:18px;}
.check-list li b{color:#fff; font-weight:500;}

/* 三欄資訊卡（場域 / 蟲種圖鑑 通用） */
.tri-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:18px; margin-top:30px;}
@media(max-width:760px){.tri-grid{grid-template-columns:1fr;}}
.tri-card{border:1px solid rgba(224,189,126,.18); border-radius:16px; padding:24px 22px; background:rgba(255,255,255,.015); text-align:left; transition:border-color .35s, transform .35s;}
.tri-card:hover{border-color:rgba(224,189,126,.5); transform:translateY(-4px);}
.tri-card .tag{font-size:11px; letter-spacing:.2em; color:var(--gold);}
.tri-card h3{font-size:17px; color:#fff; font-weight:500; margin:10px 0 10px; letter-spacing:.02em;}
.tri-card p{font-size:13.5px; line-height:1.8; color:var(--silver); font-weight:300;}

/* 服務地區（GEO 在地段） */
.area-note{max-width:720px; margin:26px auto 0; font-size:15px; line-height:2; color:var(--silver); font-weight:300; text-align:center;}
.area-note b{color:#fff; font-weight:500;}
.area-tags{display:flex; flex-wrap:wrap; justify-content:center; gap:8px; max-width:760px; margin:22px auto 0;}
.area-tags span{font-size:13px; color:var(--silver); border:1px solid rgba(224,189,126,.22); border-radius:999px; padding:5px 14px; letter-spacing:.04em;}

/* 蟲害字典（GEO 詞條） */
.gloss{max-width:800px; margin:30px auto 0; display:grid; grid-template-columns:1fr 1fr; gap:18px;}
@media(max-width:680px){.gloss{grid-template-columns:1fr;}}
.gloss .g-item{border-left:2px solid rgba(224,189,126,.45); padding:4px 0 4px 16px;}
.gloss .g-term{font-size:16px; color:var(--gold-bright); font-weight:500; letter-spacing:.06em;}
.gloss .g-def{font-size:13.5px; line-height:1.85; color:var(--silver); font-weight:300; margin-top:6px;}

/* ===== 麵包屑 ===== */
.crumbs{position:fixed; top:24px; left:28px; z-index:40; display:flex; align-items:center; gap:8px;
  font-size:12px; letter-spacing:.08em; padding:8px 16px; border-radius:999px;
  background:rgba(10,11,14,.42); backdrop-filter:blur(6px); border:1px solid rgba(224,189,126,.18);}
.crumbs a{color:rgba(255,255,255,.6); text-decoration:none; transition:color .25s; white-space:nowrap;}
.crumbs a:hover{color:var(--gold-bright);}
.crumbs .sep{color:rgba(224,189,126,.5);}
.crumbs b{color:var(--gold); font-weight:500; white-space:nowrap;}
@media(max-width:768px){.crumbs{top:14px; left:12px; font-size:11px; padding:6px 12px; gap:6px;}
  .crumbs b{max-width:38vw; overflow:hidden; text-overflow:ellipsis;}}

/* ===== 最新消息 ===== */
.news-list{max-width:720px; margin:28px auto 0; display:flex; flex-direction:column;}
.news-item{display:flex; gap:18px; align-items:baseline; padding:18px 6px; border-bottom:1px solid rgba(255,255,255,.08); text-decoration:none; transition:background .25s;}
.news-item:hover{background:rgba(224,189,126,.05);}
.news-item .date{font-size:12.5px; color:var(--gold); letter-spacing:.06em; white-space:nowrap; font-variant-numeric:tabular-nums;}
.news-item .t{font-size:15.5px; color:var(--silver); font-weight:300; line-height:1.75;}
.news-item:hover .t{color:#fff;}
.news-item .arrow{margin-left:auto; color:rgba(224,189,126,.5); flex:0 0 auto;}
@media(max-width:600px){.news-item{flex-direction:column; gap:6px;} .news-item .arrow{display:none;}}
