/* bombobi 幫保庇平台頁（紅金配色版；所有規則限定在 .bb 內，避免影響站內其他頁面） */
.bb *{box-sizing:border-box;margin:0;padding:0}
.bb{font-family:"Noto Sans TC","Microsoft JhengHei",sans-serif;color:var(--ink-soft);background:var(--bg);line-height:1.7;-webkit-font-smoothing:antialiased;padding-top:80px}  /* 站台 header 為 absolute 浮在內容上方（高 80px），預留高度避免遮住 hero */
.bb a{color:inherit;text-decoration:none}
.bb [id]{scroll-margin-top:78px}
.bb{--red:#9D1B25; --red-deep:#770000; --red-light:#FFF2F2; --accent:#9D1B25; --gold:#CFA352; --gold-deep:#AA7E30; --gold-soft:#E8D5A8; --ink:#211A16; --ink-soft:#4A3B30; --ink-muted:#A99B8E; --bg:#FFFAF0; --bg-soft:#F6EAD3; --line:#E8DFD2; --white:#fff; --ph:#EADFCB; --radius:16px; --max:1320px;}
.bb .wrap{width:100%;max-width:var(--max);margin:0 auto;padding:0 15px}
.bb .section-title{font-size:30px;font-weight:900;color:var(--ink);line-height:1.35}
.bb .section-sub{font-size:20px;font-weight:700;color:var(--red);margin-top:6px}
.bb .eyebrow{font-family:"Nunito",sans-serif;font-weight:800;font-size:16px;color:var(--gold-deep);letter-spacing:.03em;margin-bottom:4px}
.bb .sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.bb .dots{position:absolute;width:90px;height:60px;background-image:radial-gradient(currentColor 2px,transparent 2.5px);background-size:14px 14px;opacity:.55;pointer-events:none}
.bb .dots.orange{color:var(--gold)}
.bb .dots.blue{color:var(--gold-soft)}
.bb .bubble{position:absolute;border-radius:50%;pointer-events:none}
.bb .ph{background:var(--ph);display:flex;align-items:center;justify-content:center;color:#7A6553;font-size:13px;font-weight:500;text-align:center;overflow:hidden}
.bb .ph span{background:rgba(255,255,255,.6);padding:4px 10px;border-radius:999px}
.bb{--page-content-width:calc(100vw - 30px)}
@media(min-width:576px){
  .bb{--page-content-width:510px}
}
@media(min-width:768px){
  .bb{--page-content-width:690px}
}
@media(min-width:992px){
  .bb{--page-content-width:930px}
}
@media(min-width:1200px){
  .bb{--page-content-width:1110px}
}
@media(min-width:1400px){
  .bb{--page-content-width:1290px}
}
.bb .hero{min-height:550px;position:relative;overflow:hidden;background:#FFFAF0;color:var(--ink);line-height:normal}
.bb .hero:before{content:"";position:absolute;width:195px;height:195px;left:-90px;top:-96px;background:#F6EAD3;border-radius:50%}
.bb .hero:after{content:"";position:absolute;left:-9%;bottom:-94px;width:119%;height:168px;background:var(--bg);border-radius:53% 47% 0 0 / 84% 60% 0 0;z-index:2}
.bb .hero-inner{min-height:550px;display:grid;grid-template-columns:47% 53%;align-items:center;position:relative;z-index:1}
.bb .hero-copy{padding:54px 0 94px;position:relative;z-index:2}
.bb .hero-kicker{color:var(--accent);font-size:26px;font-weight:800;letter-spacing:.12em;margin:0 0 14px}
.bb .hero h1{font-size:clamp(38px,4.2vw,66px);line-height:1.12;letter-spacing:-.035em;margin:0;font-weight:900;white-space:nowrap}
.bb .hero h1 span{font-size:.55em;letter-spacing:0;vertical-align:.11em}
.bb .hero .bombobi{display:block;margin:10px 0 14px;line-height:0}
.bb .hero .bombobi img{display:block;width:100%;max-width:260px;height:auto}
@media(max-width:1199px){
  .bb .hero .bombobi img{max-width:220px}
}
@media(max-width:991px){
  .bb .hero .bombobi img{width:auto;max-width:none;height:clamp(96px,10.5vw,150px)}
}
.bb .hero h2{color:var(--red);font-size:clamp(28px,3.45vw,53px);letter-spacing:.025em;line-height:1.25;margin:0 0 33px;font-weight:900;white-space:nowrap}
.bb .primary-button{display:inline-flex;align-items:center;justify-content:center;gap:13px;background:var(--red);color:#fff;border:0;border-radius:999px;padding:14px 33px;min-width:250px;font-weight:800;box-shadow:0 7px 0 #77000020;cursor:pointer;transition:transform .2s,background .2s}
.bb .primary-button:hover{background:#7F1520;transform:translateY(-2px)}
.bb .primary-button:focus-visible{outline:3px solid #CFA352;outline-offset:3px}
.bb .primary-button svg{width:18px;height:18px}
.bb .hero-media{aspect-ratio:16/9;margin-right:calc((var(--page-content-width) - 100vw)/2);background:#EADFCB;position:relative;overflow:hidden;border-radius:0 0 0 170px;transition:border-radius .35s}
.bb .hero-media .yt-facade{position:absolute;inset:0;display:block;cursor:pointer}
.bb .hero-media .yt-facade img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s}
.bb .hero-media .yt-facade:hover img{transform:scale(1.03)}
.bb .hero-media .yt-facade:focus-visible{outline:4px solid #CFA352;outline-offset:-4px}
.bb .hero-media-label{position:absolute;right:28px;bottom:30px;background:#fffffff0;color:#4A3B30;border-radius:30px;padding:10px 18px;font-size:14px;font-weight:700}
.bb .play-circle{position:absolute;top:50%;left:56%;transform:translate(-50%,-50%);width:82px;height:82px;border-radius:50%;display:grid;place-items:center;background:#ffffffd9;box-shadow:0 10px 30px rgba(33,26,22,.25);transition:transform .2s,background .2s}
.bb .yt-facade:hover .play-circle{transform:translate(-50%,-50%) scale(1.08);background:#fff}
.bb .hero.is-playing .hero-inner{z-index:3}
.bb .hero.is-playing .hero-media{border-radius:0 0 0 24px}
.bb .play-circle::after{content:"";border-left:24px solid var(--red);border-top:14px solid transparent;border-bottom:14px solid transparent;margin-left:6px}
.bb .hero-dots{position:absolute;left:28px;bottom:50px;width:88px;height:70px;background-image:radial-gradient(var(--gold) 1.3px,transparent 1.3px);background-size:13px 13px;opacity:.75;pointer-events:none}
@media(max-width:1199px){
  .bb .hero h1{font-size:45px}
  .bb .hero h2{font-size:34px}
}
@media(max-width:991px){
  .bb .hero,.bb .hero-inner{min-height:auto}
  .bb .hero-inner{display:flex;flex-direction:column;align-items:stretch}
  .bb .hero-copy{padding:54px 0 23px}
  .bb .hero-kicker{font-size:20px}
  .bb .hero h1{font-size:clamp(32px,7vw,48px)}
  .bb .hero h2{font-size:clamp(28px,6vw,40px);white-space:normal}
  .bb .hero-media{margin-inline:calc((var(--page-content-width) - 100vw)/2);border-radius:90px 0 0 0}
  .bb .hero:after{height:70px;bottom:-48px}
  .bb .hero-dots{bottom:auto;top:15px;right:15px;left:auto}
}
@media(max-width:575px){
  .bb .hero-media{margin-inline:-15px}
  .bb .hero-media-label{top:18px;right:15px;bottom:auto}
}
@media(max-width:440px){
  .bb .hero h1{white-space:normal}
  .bb .hero h1 span{display:block;font-size:.7em;margin-top:4px}
  .bb .hero h2{font-size:26px}
  .bb .primary-button{width:100%}
}
.bb .btn{display:inline-flex;align-items:center;gap:10px;background:var(--red);color:#fff;font-weight:700;font-size:17px;padding:14px 32px;border-radius:999px;border:0;cursor:pointer;box-shadow:0 8px 20px rgba(157,27,37,.25);transition:transform .15s,box-shadow .15s}
.bb .btn:hover{transform:translateY(-2px);box-shadow:0 12px 26px rgba(157,27,37,.32)}
.bb .btn svg{width:18px;height:18px}
.bb .hero-media iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.bb .section-wave{position:absolute;left:0;right:0;bottom:-1px;height:110px;line-height:0;pointer-events:none;z-index:0}
.bb .section-wave svg{display:block;width:100%;height:100%}
.bb .functions .section-wave{height:60px}
.bb .about>.wrap,.bb .features>.wrap,.bb .functions>.wrap{position:relative;z-index:1}
.bb .about{position:relative;padding:40px 0 140px;overflow:hidden}
.bb .about-top{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.bb .about p{font-size:16px;line-height:1.9;color:var(--ink-soft);margin-top:20px;text-align:justify}
.bb .about-more{display:grid;grid-template-columns:1fr 1fr;gap:0 56px;margin-top:28px;padding-top:8px;border-top:1px dashed var(--line)}
.bb .about p.root{font-weight:700;color:var(--ink)}
.bb .about p.root em{font-style:normal;color:var(--accent)}
.bb .network{position:relative;aspect-ratio:1/0.92;max-width:540px;margin-left:auto;width:100%}
.bb .network svg.arcs{position:absolute;inset:0;width:100%;height:100%}
.bb .network .center{position:absolute;left:50%;top:52%;transform:translate(-50%,-50%);text-align:center}
.bb .network .center img{display:block;width:clamp(120px,30vw,170px);height:auto}
.bb .node{position:absolute;width:38%;}
.bb .node .ph{aspect-ratio:1;border-radius:50%;border:6px solid #fff;box-shadow:0 12px 30px rgba(33,26,22,.12)}
.bb .node .label{position:absolute;display:flex;align-items:center;gap:10px;background:#fff;border-radius:14px;padding:8px 14px;box-shadow:0 8px 22px rgba(33,26,22,.12);white-space:nowrap}
.bb .node .label svg{width:28px;height:28px;color:var(--accent);flex-shrink:0}
.bb .node .label b{display:block;font-size:14px;color:var(--ink);line-height:1.3}
.bb .node .label small{font-size:12px;color:var(--ink-muted)}
.bb .node.n1{left:31%;top:0}
.bb .node.n1 .label{right:-48%;bottom:22%}
.bb .node.n2{left:0;top:52%}
.bb .node.n2 .label{left:4%;bottom:-14%}
.bb .node.n3{right:0;top:52%}
.bb .node.n3 .label{right:0;bottom:-14%}
.bb .features{position:relative;padding:40px 0 100px;overflow:hidden;background:linear-gradient(180deg,var(--bg-soft) 0%,var(--bg) 50%,var(--bg) 100%)}
.bb .features-grid{display:grid;grid-template-columns:repeat(3,1fr);margin-top:28px}
.bb .feat{padding:0 36px 88px;border-left:1px solid var(--line);position:relative}
.bb .feat:first-child{padding-left:0;border-left:0}
.bb .feat .num{font-family:"Nunito",sans-serif;font-weight:900;font-size:44px;color:var(--red);line-height:1}
.bb .feat h3{font-size:21px;font-weight:900;color:var(--ink);margin-top:14px}
.bb .feat h3 .vs{color:var(--red);font-family:"Nunito",sans-serif;margin:0 4px}
.bb .feat p{font-size:16px;line-height:1.9;color:var(--ink-soft);margin-top:12px;text-align:justify}
.bb .feat .ico{position:absolute;right:36px;bottom:0;width:72px;height:72px}
.bb .feat:last-child .ico{right:0}
.bb .functions{position:relative;padding:10px 0 90px;background:linear-gradient(170deg,var(--bg-soft) 0%,var(--bg) 56%,var(--bg) 100%);overflow:hidden}
.bb .func-grid{display:grid;grid-template-columns:repeat(4,1fr);margin-top:44px}
.bb .func{padding:0 24px;border-left:1px solid var(--line);text-align:center}
.bb .func:first-child{border-left:0}
.bb .func .ic{width:68px;height:68px;margin:0 auto;border-radius:50%;background:#fff;box-shadow:0 6px 18px rgba(33,26,22,.08);display:flex;align-items:center;justify-content:center}
.bb .func .ic svg{width:34px;height:34px}
.bb .func h3{font-size:20px;font-weight:900;color:var(--red);margin-top:14px}
.bb .func p{font-size:15px;line-height:1.8;color:var(--ink-soft);margin-top:8px}
.bb .join{position:relative;padding:25px 0 0;overflow:hidden;background:var(--bg)}
.bb .join-top{display:grid;grid-template-columns:6fr 5fr;gap:40px;align-items:end}
.bb .steps{display:flex;align-items:center;gap:14px;margin-top:36px;flex-wrap:wrap}
.bb .step{display:flex;flex-direction:column;align-items:center;gap:12px;width:170px;text-align:center}
.bb .step b small{display:block;font-size:13px;font-weight:700;color:var(--red)}
.bb .step .row{display:flex;align-items:center;gap:10px}
.bb .step .n{width:42px;height:42px;border-radius:50%;background:var(--red-light);color:var(--red);font-weight:900;font-family:"Nunito",sans-serif;font-size:18px;display:flex;align-items:center;justify-content:center}
.bb .step .row svg{width:36px;height:36px;color:var(--red)}
.bb .step b{font-size:15px;color:var(--ink)}
.bb .chev{width:22px;height:22px;color:#CFA352;margin-top:-34px}
.bb .join-photo{aspect-ratio:16/9;border-radius:24px 24px 0 0}
.bb .apply{position:relative;background:var(--bg);padding:0 0 35px}
.bb .form-card{background:#fff;border-radius:22px;box-shadow:0 20px 50px rgba(33,26,22,.10);padding:26px 48px;position:relative;z-index:2;margin-top:-30px}
.bb .form-card h2{display:flex;align-items:flex-end;gap:10px;font-size:24px;line-height:1.2;color:var(--ink);font-weight:900}
.bb .form-card h2 img{display:block;height:1.55em;width:auto}
.bb .field{margin-top:14px}
.bb .field label,.bb .field-label{display:block;font-size:15px;font-weight:700;color:var(--ink);margin-bottom:8px}
.bb .field-label{margin:18px 0 -4px}
.bb .field label i{color:#9D1B25;font-style:normal;margin-left:2px}
.bb .field input{width:100%;font:inherit;font-size:15px;padding:8px 16px;border:1px solid #E8DFD2;border-radius:10px;outline:none;transition:border-color .2s,box-shadow .2s}
.bb .field input:focus{border-color:var(--red);box-shadow:0 0 0 3px rgba(157,27,37,.12)}
.bb .table-wrap{margin-top:14px;border:1px solid var(--line);border-radius:12px;overflow:auto}
.bb table{width:100%;border-collapse:collapse;font-size:15px;min-width:720px}
.bb thead th{background:var(--bg-soft);color:var(--ink);font-weight:700;padding:9px 12px;text-align:center;border-bottom:1px solid var(--line)}
.bb tbody td{padding:8px 12px;text-align:center;border-bottom:1px solid #E8DFD2}
.bb tbody tr:last-child td{border-bottom:0}
.bb tbody tr{cursor:pointer;transition:background .15s}
.bb tbody tr:hover{background:#FFFAF0}
.bb tbody tr.sel{background:var(--red-light)}
.bb td.plan{font-weight:700;color:var(--ink)}
.bb td.price{font-weight:900;color:var(--ink)}
.bb td.save{color:var(--gold-deep);font-weight:700}
.bb td.content{text-align:left}
.bb input[type=radio]{width:18px;height:18px;accent-color:var(--red);cursor:pointer}
.bb .form-foot{display:flex;justify-content:space-between;align-items:flex-end;gap:32px;margin-top:14px;flex-wrap:wrap}
.bb .notes-box{flex:1 1 560px}
.bb .notes-box h3{font-size:15px;font-weight:900;color:var(--ink)}
.bb .notes{list-style:none;font-size:14px;line-height:1.8;color:var(--ink-soft)}
.bb .notes li{margin-top:2px}
.bb .btn.big{font-size:18px;padding:16px 64px}
.bb .form-status{font-size:14px;color:var(--ink);margin-top:8px}
.bb .form-status:empty{display:none}
.bb .confirm-card{background:#fff;border-radius:18px;box-shadow:0 20px 50px rgba(33,26,22,.18);padding:30px 32px 26px;width:min(560px,100%);position:relative;text-align:left}
.bb .confirm-card .close{position:absolute;right:14px;top:10px;width:32px;height:32px;border:0;background:transparent;color:var(--ink-muted);font-size:22px;line-height:1;cursor:pointer;border-radius:50%}
.bb .confirm-card .close:hover{background:var(--bg-soft)}
.bb .confirm-body{display:flex;gap:16px;align-items:flex-start}
.bb .confirm-body .alert{flex-shrink:0;width:40px;height:40px;border-radius:50%;background:var(--accent);color:#fff;font-weight:900;font-size:22px;display:flex;align-items:center;justify-content:center}
.bb .confirm-body b{display:block;font-size:16px;color:var(--ink);line-height:1.6}
.bb .confirm-body p{font-size:14px;color:var(--ink-soft);margin-top:6px}
.bb .confirm-actions{display:flex;gap:14px;justify-content:center;margin-top:24px}
.bb .confirm-actions button{min-width:150px;font:inherit;font-weight:700;font-size:16px;padding:11px 24px;border-radius:999px;cursor:pointer}
.bb .confirm-actions .ghost{background:#fff;color:var(--red);border:1.5px solid var(--red)}
.bb .confirm-actions .solid{background:var(--red);color:#fff;border:1.5px solid var(--red)}
.bb dialog.confirm{border:0;padding:0;background:transparent;max-width:calc(100vw - 32px);margin:auto}
.bb dialog.confirm::backdrop{background:rgba(33,26,22,.45)}
@media (min-width:576px){
  .bb .wrap{max-width:540px}
}
@media (min-width:768px){
  .bb .wrap{max-width:720px}
}
@media (min-width:992px){
  .bb .wrap{max-width:960px}
}
@media (min-width:1200px){
  .bb .wrap{max-width:1140px}
}
@media (min-width:1400px){
  .bb .wrap{max-width:1320px}
}
@media (max-width:991px){
  .bb .about-top,.bb .about-more,.bb .join-top{grid-template-columns:1fr}
  .bb .feat{padding-bottom:80px}
  .bb .network{margin:0 auto}
  .bb .features-grid,.bb .func-grid{grid-template-columns:1fr 1fr;gap:40px 0}
  .bb .feat:nth-child(3){padding-left:0;border-left:0}
  .bb .func:nth-child(3){padding-left:0;border-left:0}
}
@media (max-width:575px){
  .bb .about .dots,.bb .about .bubble{display:none}
  .bb .features-grid,.bb .func-grid{grid-template-columns:1fr}
  .bb .feat,.bb .func{padding:0;border-left:0}
  .bb .feat{padding-bottom:84px}
  .bb .feat .ico{right:0}
  .bb .func{padding:0}
  .bb .form-card{padding:28px 18px}
  .bb .confirm-card{padding:28px 20px 22px}
  .bb .confirm-actions button{min-width:0;flex:1}
  .bb .node .label{transform:scale(.8);transform-origin:left bottom}
  .bb .steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
  .bb .step{width:auto;min-width:0}
  .bb .step .row{gap:6px}
  .bb .step .n{width:32px;height:32px;flex-shrink:0}
  .bb .step .row svg{width:27px;height:27px;flex-shrink:0}
  .bb .step b{font-size:11px;line-height:1.4}
  .bb .chev{display:none}
  .bb .form-card h2{font-size:20px;gap:8px}
}

/* ===== 整合到站台時追加 ===== */
.bb .ph img{display:block;width:100%;height:100%;object-fit:cover}
/* 視差層：scene 蓋滿 section，內層 span 由站台 parallax.js 位移，網點座標維持原本的 left/top */
.bb .bb-scene{position:absolute;inset:0;pointer-events:none;overflow:hidden}
.bb .hero .bb-scene{z-index:0}
/* 三角圓圈：粒子沿軌道繞行（圓心 270,260） */
.bb .orbit{transform-origin:270px 260px;animation:bb-orbit 26s linear infinite}
.bb .orbit-inner{animation-duration:20s;animation-direction:reverse}
@keyframes bb-orbit{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.bb .orbit{animation:none}}
.bb .brand{font-weight:900;color:#770000}
