*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;font-family:var(--font-body);color:var(--color-text);line-height:1.6;background:#fff} :root{--primary:#c2490d;--primary-dark:#151515;--color-gold:#f86923;--color-gold-light:#ffa878;--color-gold-dark:#b2440d;--color-gold-border:#eadfd5;--color-gold-bg:#fbf7f3;--color-bg-warm:#fbf7f3;--color-text:#151515;--color-text-secondary:#3a3630;--color-text-muted:#6b6259;--color-sale:#c2490d;--font-body:Arial,"PingFang TC","Microsoft JhengHei",sans-serif;--font-heading:Georgia,"Songti TC","Noto Serif TC",serif;--radius-sm:8px;--radius-md:14px;--radius-lg:20px;--shadow-md:0 8px 25px #1515150b;--shadow-lg:0 16px 40px #15151514;--shadow-xl:0 20px 60px #15151514}a{color:inherit;text-decoration:none}h1,h2,h3,p{margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}a:focus-visible,button:focus-visible{outline:3px solid #c2490d;outline-offset:4px}.container{width:100%;max-width:1280px;margin:auto;padding:0 24px}.announcement{background:#151515;color:#fbf7f3;font-size:12px;text-align:center;padding:10px 16px;letter-spacing:.5px}.announcement a{color:#ffa878;text-decoration:underline;margin-left:12px}.site-header{position:sticky;top:0;background:#fbf7f3eb;backdrop-filter:blur(12px);z-index:30;display:flex;align-items:center;justify-content:space-between;padding:18px max(24px,calc((100% - 1232px)/2));border-bottom:1px solid #eadfd5;gap:22px}.logo{font:28px/1.2 var(--font-heading);letter-spacing:2px;display:flex;align-items:center;gap:10px;color:var(--primary)}.logo small{display:block;font:8px Arial;letter-spacing:2px;margin-top:5px}.gold{color:#d95e1a}.site-header nav{display:flex;gap:28px;font-size:13px;color:#3a3630}.header-cta{border:1px solid var(--color-gold);border-radius:30px;padding:9px 18px;font-size:12px;color:var(--primary);white-space:nowrap}.pl-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:15px 28px;border:0;border-radius:30px;font-size:13px;font-weight:600;letter-spacing:.4px;transition:transform .25s,box-shadow .25s;background:none}.pl-btn-primary{background:#e8651f;color:#151515;box-shadow:0 4px 16px #f8692333}.pl-btn-primary:hover{transform:translateY(-3px);box-shadow:0 8px 25px #f8692340}.pl-btn-outline{border:1.5px solid var(--primary);color:var(--primary);background:transparent}.pl-btn-outline:hover{background:#c2490d12}.service-icon{font:38px Georgia;color:#ffa878}.full{width:100%}.pl-use-card:focus-within .pl-use-card-inner,.pl-use-card.flipped .pl-use-card-inner{transform:rotateY(180deg)}.pl-use-card{cursor:pointer}.pl-use-card-back h3{color:#fff!important}.pl-hero-img-wrap img{display:block}.pl-hero-visual{position:relative}.pl-hero-content h1{letter-spacing:-1px;line-height:1.35}.pl-hiw-card-head h3{margin:0}.pl-hiw-card-desc{min-height:50px}.pl-hiw-tab{line-height:1.5}.pl-form-panel[hidden]{display:none!important}.pl-why-text p{margin-bottom:20px}.pl-use-card-back .pl-use-detail{color:#f6efe9}.pl-faq-q{line-height:1.7}.preview-note{font-size:12px;line-height:1.8;color:#a63e0c;background:#fbf7f3;padding:12px 15px;border-radius:8px;margin:12px 0 20px}.form-footnote{font-size:11px;color:#6b6259;text-align:center;margin-top:20px}.copy-btn{border:0;background:none;text-decoration:underline;color:var(--primary);display:block;margin:20px auto 0;font-size:13px}#status{font-size:12px;text-align:center;margin-top:15px;color:var(--primary)}.pl-form-summary:empty{display:none}.pl-form-summary dt{font-size:12px}.pl-form-summary dd{overflow-wrap:anywhere}.pl-form-group label{margin-bottom:6px}footer{background:#151515;color:#f6efe9;padding:55px 0 25px}.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:50px}footer .logo{color:#e8651f}footer p{color:#8a8175;font-size:12px;line-height:1.9;margin-top:15px}footer h3{font-size:14px;color:#ffa878;margin-bottom:18px}footer a{display:block;margin-top:10px;font-size:12px}.copyright{margin-top:40px;padding-top:20px;border-top:1px solid #ffffff18;font-size:10px;color:#8a8175}.floating-cta{position:fixed;bottom:24px;right:24px;z-index:40}.pl-testi-grid{display:none}@media(max-width:760px){.site-header nav{display:none}.site-header{padding:16px 20px}.logo{font-size:23px}.header-cta{padding:8px 13px}.announcement{font-size:10px}.announcement a{margin-left:5px}.pl-hero{padding-top:40px!important}.pl-hero-inner{gap:30px}.pl-section{padding:60px 0!important}.pl-hero-content h1{font-size:36px}.pl-hero-sub{font-size:15px}.pl-hero-bullets li{font-size:13px}.pl-hero-img-wrap{max-width:400px}.pl-section-header p{font-size:14px}.pl-section-header{margin-bottom:32px}.footer-grid{grid-template-columns:1fr 1fr;gap:30px}.footer-grid>div:first-child{grid-column:1/-1}.copyright{padding-bottom:0}.floating-cta{bottom:14px;right:14px;font-size:12px;padding:12px 18px}.pl-hiw-tab{font-size:10px}.pl-use-card h3{font-size:21px}.pl-why-text p{font-size:14px}.pl-form-wrapper{padding:30px 20px}.pl-hero-img-wrap img{max-width:100%}.pl-hero-visual{min-height:0}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
.pl-hero{position:relative;min-height:520px;display:flex;align-items:center;overflow:hidden;background:linear-gradient(160deg,#fff 0%,var(--color-bg-warm) 50%,#fff 100%);padding:60px 0 80px}.pl-hero-bokeh{position:absolute;inset:0;overflow:hidden;pointer-events:none}.pl-hero-bokeh span{position:absolute;border-radius:50%;opacity:0;animation:plBokeh 8s ease-in-out infinite}.pl-hero-bokeh span:nth-child(1){width:180px;height:180px;top:10%;right:15%;background:radial-gradient(circle,rgb(248 105 35 / .12),transparent 70%);animation-delay:0s}.pl-hero-bokeh span:nth-child(2){width:120px;height:120px;top:60%;right:30%;background:radial-gradient(circle,rgb(194 73 13 / .08),transparent 70%);animation-delay:2s}.pl-hero-bokeh span:nth-child(3){width:200px;height:200px;bottom:10%;left:10%;background:radial-gradient(circle,rgb(248 105 35 / .1),transparent 70%);animation-delay:4s}.pl-hero-bokeh span:nth-child(4){width:100px;height:100px;top:20%;left:20%;background:radial-gradient(circle,rgb(247 198 208 / .2),transparent 70%);animation-delay:1s}.pl-hero-bokeh span:nth-child(5){width:150px;height:150px;bottom:30%;right:5%;background:radial-gradient(circle,rgb(194 73 13 / .06),transparent 70%);animation-delay:3s}.pl-hero-bokeh span:nth-child(6){width:80px;height:80px;top:40%;left:40%;background:radial-gradient(circle,rgb(248 105 35 / .15),transparent 70%);animation-delay:5s}@keyframes plBokeh{0%,100%{opacity:0;transform:scale(.8) translateY(20px)}30%,70%{opacity:1;transform:scale(1) translateY(0)}}.pl-hero-inner{position:relative;z-index:1;display:grid;grid-template-columns:1fr;gap:40px;align-items:center;max-width:1320px;margin:0 auto;padding:0 20px;width:100%}.pl-hero-badge{display:inline-flex;align-items:center;gap:6px;background:rgb(194 73 13 / .08);color:var(--primary);padding:6px 14px;border-radius:50px;font-size:12px;font-weight:600;letter-spacing:.5px;text-transform:uppercase;margin-bottom:20px}.pl-hero-badge::before{content:'';width:6px;height:6px;border-radius:50%;background:var(--color-gold);flex-shrink:0}.pl-hero h1{font-family:var(--font-heading);font-size:clamp(32px,5.5vw,52px);line-height:1.15;color:var(--color-text);margin-bottom:18px}.pl-hero h1 span{background:linear-gradient(135deg,var(--primary),var(--primary-dark));-webkit-background-clip:text;-webkit-text-fill-color:#fff0;background-clip:text}.pl-hero-sub{font-size:clamp(15px,2vw,18px);color:var(--color-text-secondary);margin-bottom:24px;line-height:1.7}.pl-hero-bullets{list-style:none;padding:0;margin:0 0 28px}.pl-hero-bullets li{display:flex;align-items:center;gap:10px;font-size:15px;color:var(--color-text);padding:6px 0;font-weight:500}.pl-hero-bullets li::before{content:'';width:20px;height:20px;flex-shrink:0;border-radius:50%;background:linear-gradient(135deg,var(--color-gold),var(--color-gold-light));background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='%23fff' viewBox='0 0 24 24'%3E%3Cpath d='M9 16.17L4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:center;background-size:12px}.pl-hero-ctas{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:20px}.pl-trust-line{font-size:12px;color:var(--color-text-muted);display:flex;flex-wrap:wrap;gap:6px;align-items:center}.pl-trust-line span{display:flex;align-items:center;gap:4px}.pl-trust-line span::before{content:'';width:4px;height:4px;border-radius:50%;background:var(--color-gold);flex-shrink:0}.pl-hero-visual{display:flex;align-items:center;justify-content:center;min-height:300px;perspective:800px}.pl-hero-img-wrap{position:relative;border-radius:var(--radius-lg);overflow:hidden;animation:plOrbit 8s ease-in-out infinite;transition:transform 0.4s ease,box-shadow 0.4s ease;transform-style:preserve-3d;will-change:transform}.pl-hero-img-wrap::after{content:'';position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:linear-gradient(105deg,transparent 40%,rgb(248 105 35 / .2) 45%,rgb(255 255 255 / .25) 50%,rgb(248 105 35 / .2) 55%,transparent 60%);opacity:0;transform:translateX(-100%);pointer-events:none;z-index:2;transition:opacity 0.3s ease}.pl-hero-img-wrap:hover::after{opacity:1;animation:plShimmer 0.8s ease-out forwards}.pl-hero-img-wrap:hover{animation-play-state:paused;transform:rotateY(-5deg) rotateX(3deg) scale(1.04);box-shadow:0 25px 60px rgb(194 73 13 / .2),0 10px 30px rgb(248 105 35 / .15)}.pl-hero-img-wrap img{width:100%;max-width:480px;height:auto;border-radius:var(--radius-lg);object-fit:contain;transition:transform 0.5s ease}.pl-hero-img-wrap:hover img{transform:scale(1.03)}.pl-hero-img-shadow{position:absolute;bottom:-18px;left:10%;right:10%;height:40px;border-radius:50%;background:radial-gradient(ellipse at center,rgb(194 73 13 / .12) 0%,transparent 70%);filter:blur(10px);z-index:-1;animation:plShadowOrbit 8s ease-in-out infinite}@keyframes plOrbit{0%{transform:translateY(0) rotateX(0deg) rotateY(0deg)}25%{transform:translateY(-8px) rotateX(2deg) rotateY(-3deg)}50%{transform:translateY(-4px) rotateX(-1deg) rotateY(3deg)}75%{transform:translateY(-10px) rotateX(1deg) rotateY(-2deg)}100%{transform:translateY(0) rotateX(0deg) rotateY(0deg)}}@keyframes plShadowOrbit{0%,100%{transform:scaleX(1);opacity:1}25%{transform:scaleX(.95);opacity:.85}50%{transform:scaleX(.92);opacity:.7}75%{transform:scaleX(.96);opacity:.8}}@keyframes plShimmer{0%{transform:translateX(-100%)}100%{transform:translateX(100%)}}.pl-btn-pulse{position:relative}.pl-btn-pulse::after{content:'';position:absolute;inset:-4px;border-radius:34px;background:var(--color-gold);opacity:0;z-index:-1;animation:plPulse 2s ease-in-out infinite}@keyframes plPulse{0%,100%{opacity:0;transform:scale(1)}50%{opacity:.3;transform:scale(1.05)}}.pl-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:14px 28px;border-radius:30px;font-weight:600;font-size:14px;text-transform:uppercase;letter-spacing:.8px;transition:all 0.3s ease;white-space:nowrap;text-decoration:none;border:none;cursor:pointer;font-family:var(--font-body)}.pl-btn-primary{background:var(--color-gold);color:#151515;box-shadow:0 4px 16px rgb(248 105 35 / .3)}.pl-btn-primary:hover{background:var(--color-gold-light);transform:translateY(-2px);box-shadow:0 6px 24px rgb(248 105 35 / .45)}.pl-btn-outline{background:#fff0;color:var(--primary);border:2px solid var(--primary)}.pl-btn-outline:hover{background:var(--primary);color:#fff}.pl-btn-wa{background:#fff0;color:#25D366;border:2px solid #25D366}.pl-btn-wa:hover{background:#25D366;color:#fff}.pl-btn-wa svg{width:18px;height:18px;flex-shrink:0}.pl-btn-gold{background:linear-gradient(135deg,var(--color-gold),var(--color-gold-light));color:var(--color-text);font-weight:700;box-shadow:0 4px 16px rgb(248 105 35 / .3)}.pl-btn-gold:hover{transform:translateY(-2px);box-shadow:0 6px 24px rgb(248 105 35 / .45)}.pl-counters{padding:40px 0;background:linear-gradient(135deg,var(--primary),var(--primary-dark));color:#fff}.pl-counters-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;max-width:900px;margin:0 auto;text-align:center}.pl-counter-item{padding:16px 12px}.pl-counter-num{font-family:var(--font-heading);font-size:clamp(36px, 5vw, 52px);font-weight:700;color:var(--color-gold);display:inline;line-height:1}.pl-counter-suffix{display:inline;font-family:var(--font-heading);font-size:clamp(28px, 4vw, 40px);color:var(--color-gold)}.pl-counter-icon{font-size:24px;color:var(--color-gold);margin-bottom:4px;letter-spacing:2px}.pl-counter-label{font-size:13px;font-weight:600;letter-spacing:.5px;opacity:.85;margin-top:4px}.pl-section{padding:80px 0}.pl-section-alt{background:var(--color-bg-warm)}.pl-section-header{text-align:center;margin-bottom:50px}.pl-badge{display:inline-flex;align-items:center;gap:6px;background:rgb(194 73 13 / .06);color:var(--primary);padding:5px 14px;border-radius:50px;font-size:11px;font-weight:600;letter-spacing:1px;text-transform:uppercase;margin-bottom:22px}.pl-section-header h2{font-family:var(--font-heading);font-size:clamp(26px,4vw,40px);color:var(--color-text);margin-bottom:12px;line-height:1.2}.pl-section-header p{font-size:16px;color:var(--color-text-secondary);max-width:560px;margin:0 auto}.pl-use-grid{display:grid;grid-template-columns:1fr;gap:20px}.pl-use-card{perspective:800px;height:260px}.pl-use-card-inner{position:relative;width:100%;height:100%;transition:transform 0.6s ease;transform-style:preserve-3d}.pl-use-card:hover .pl-use-card-inner{transform:rotateY(180deg)}.pl-use-card-front,.pl-use-card-back{position:absolute;inset:0;backface-visibility:hidden;background:#fff;border:1px solid var(--color-gold-border);border-radius:var(--radius-lg);padding:32px 28px;overflow:hidden}.pl-use-card-front::before,.pl-use-card-back::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--primary),var(--color-gold))}.pl-use-card-back{transform:rotateY(180deg);background:linear-gradient(135deg,var(--primary),var(--primary-dark));border-color:#fff0;color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.pl-use-card-back::before{background:linear-gradient(90deg,var(--color-gold),var(--color-gold-light))}.pl-use-card-back h3{color:#fff;margin-bottom:8px}.pl-use-card-back .pl-use-detail{color:rgb(255 255 255 / .85);font-size:14px;margin-bottom:16px}.pl-use-card-back .pl-btn-primary{background:var(--color-gold);color:var(--color-text)}.pl-use-icon{width:52px;height:52px;border-radius:14px;background:linear-gradient(135deg,rgb(194 73 13 / .06),var(--color-gold-bg));display:flex;align-items:center;justify-content:center;margin-bottom:18px;font-size:24px}.pl-use-card-back .pl-use-icon{background:rgb(255 255 255 / .15)}.pl-use-card h3{font-family:var(--font-heading);font-size:20px;color:var(--color-text);margin-bottom:8px}.pl-use-card p{font-size:14px;color:var(--color-text-secondary);line-height:1.6}.pl-hiw-tabs{display:flex;gap:4px;background:#fff;border:1px solid var(--color-gold-border);border-radius:var(--radius-md);padding:4px;max-width:640px;margin:0 auto 16px;overflow-x:auto;scrollbar-width:none}.pl-hiw-tabs::-webkit-scrollbar{display:none}.pl-hiw-tab{flex:1;min-width:0;display:flex;flex-direction:column;align-items:center;gap:2px;padding:10px 6px;border-radius:10px;font-size:11px;font-weight:600;color:var(--color-text-muted);white-space:nowrap;transition:all 0.25s ease;cursor:pointer;border:none;background:none;font-family:var(--font-body)}.pl-hiw-tab-num{font-family:var(--font-heading);font-size:15px;font-weight:700;width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;border:1.5px solid var(--color-gold-border);color:var(--color-text-muted);transition:all 0.25s ease;margin-bottom:1px}.pl-hiw-tab.active{color:#fff;background:linear-gradient(135deg,var(--primary),var(--primary-dark));box-shadow:0 4px 14px rgb(194 73 13 / .18)}.pl-hiw-tab.active .pl-hiw-tab-num{border-color:rgb(255 255 255 / .3);color:#fff}.pl-hiw-tab.done .pl-hiw-tab-num{border-color:var(--color-gold);color:var(--color-gold);background:var(--color-gold-bg)}.pl-hiw-tab.done{color:var(--color-gold)}.pl-hiw-progress{display:flex;align-items:center;gap:12px;max-width:640px;margin:0 auto 36px}.pl-hiw-progress-label{font-size:12px;font-weight:600;color:var(--color-text-secondary);white-space:nowrap;min-width:72px}.pl-hiw-progress-track{flex:1;height:3px;background:var(--color-gold-border);border-radius:3px;overflow:hidden}.pl-hiw-progress-fill{height:100%;width:0%;border-radius:3px;background:linear-gradient(90deg,var(--primary),var(--color-gold));transition:width 0.6s ease}.pl-hiw-card-wrap{max-width:720px;margin:0 auto;position:relative;min-height:280px}.pl-hiw-card{display:none;background:#fff;border:1px solid var(--color-gold-border);border-radius:var(--radius-lg);padding:36px 32px 32px;box-shadow:var(--shadow-md);position:relative;overflow:hidden;animation:plCardIn 0.4s ease}.pl-hiw-card::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--primary),var(--color-gold))}.pl-hiw-card.active{display:block}@keyframes plCardIn{from{opacity:0;transform:translateX(20px)}to{opacity:1;transform:translateX(0)}}.pl-hiw-card-head{display:flex;align-items:flex-start;gap:18px;margin-bottom:18px}.pl-hiw-card-icon{width:56px;height:56px;border-radius:14px;flex-shrink:0;background:linear-gradient(135deg,rgb(194 73 13 / .05),var(--color-gold-bg));display:flex;align-items:center;justify-content:center;font-size:28px}.pl-hiw-card-label{font-size:11px;font-weight:700;letter-spacing:1.2px;text-transform:uppercase;color:var(--color-gold);margin-bottom:4px}.pl-hiw-card h3{font-family:var(--font-heading);font-size:clamp(20px,3vw,26px);color:var(--color-text);line-height:1.25}.pl-hiw-card-desc{font-size:15px;color:var(--color-text-secondary);line-height:1.7;margin-bottom:24px}.pl-hiw-card-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.pl-hiw-reassure{display:flex;flex-wrap:wrap;gap:6px 18px;margin-top:24px;padding-top:18px;border-top:1px solid var(--color-gold-border)}.pl-hiw-reassure span{font-size:11px;color:var(--color-text-muted);font-weight:500;display:flex;align-items:center;gap:5px}.pl-hiw-reassure span::before{content:'';width:4px;height:4px;border-radius:50%;background:var(--color-gold);flex-shrink:0}.pl-custom-grid{display:grid;grid-template-columns:1fr;gap:16px}.pl-custom-card{background:#fff;border:1px solid var(--color-gold-border);border-radius:var(--radius-md);padding:28px 24px;text-align:center;transition:all 0.3s ease}.pl-custom-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-md);border-color:var(--color-gold)}.pl-custom-icon{font-size:32px;margin-bottom:14px;display:block}.pl-custom-card h3{font-family:var(--font-heading);font-size:17px;color:var(--color-text);margin-bottom:6px}.pl-custom-card p{font-size:13px;color:var(--color-text-secondary)}.pl-pricing-box{max-width:680px;margin:0 auto;text-align:center;background:linear-gradient(160deg,rgb(194 73 13 / .03),var(--color-gold-bg));border:1px solid var(--color-gold-border);border-radius:var(--radius-lg);padding:48px 32px}.pl-pricing-box h3{font-family:var(--font-heading);font-size:clamp(20px,3vw,28px);color:var(--color-text);margin-bottom:12px}.pl-pricing-box .pl-price-anchor{font-size:clamp(16px,2.5vw,20px);color:var(--primary);font-weight:600;margin-bottom:20px}.pl-pricing-box .pl-disclaimer{font-size:12px;color:var(--color-text-muted);font-style:italic;margin-top:16px}.pl-why{position:relative;padding:90px 0 100px;overflow:hidden}.pl-why-main{display:grid;grid-template-columns:1fr;gap:48px;align-items:start}.pl-why-text p{font-size:16px;line-height:1.85;color:var(--color-text-secondary);margin-bottom:20px}.pl-why-tabs{display:flex;flex-wrap:wrap;gap:8px;margin-top:28px;margin-bottom:16px}.pl-why-tab{padding:9px 18px;border-radius:50px;font-size:13px;font-weight:600;letter-spacing:.3px;color:var(--color-text-secondary);border:1.5px solid var(--color-gold-border);background:#fff;transition:all 0.3s ease;cursor:pointer;font-family:var(--font-body)}.pl-why-tab:hover{border-color:var(--primary);color:var(--primary)}.pl-why-tab[aria-selected="true"]{background:linear-gradient(135deg,var(--primary),var(--primary-dark));color:#fff;border-color:#fff0;box-shadow:0 4px 16px rgb(194 73 13 / .2)}.pl-why-tab-content{min-height:50px;padding:14px 18px;background:rgb(194 73 13 / .03);border-radius:var(--radius-md);border-left:3px solid var(--color-gold)}.pl-why-tab-text{font-size:15px;font-weight:500;color:var(--color-text);line-height:1.6;margin:0}.pl-why-ctas{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px}.pl-microcopy{font-size:12px;color:var(--color-text-muted);margin-top:8px;display:flex;align-items:center;gap:5px}.pl-microcopy::before{content:'';width:4px;height:4px;border-radius:50%;background:var(--color-gold);flex-shrink:0}.pl-features{display:grid;grid-template-columns:1fr;gap:16px}.pl-fcard{background:rgb(255 255 255 / .65);backdrop-filter:blur(16px);border:1px solid var(--color-gold-border);border-radius:var(--radius-md);padding:24px 22px;display:flex;align-items:flex-start;gap:16px;transition:all 0.4s ease;position:relative;overflow:hidden}.pl-fcard::after{content:'';position:absolute;inset:0;border-radius:inherit;background:linear-gradient(135deg,transparent,rgb(248 105 35 / .08));opacity:0;transition:opacity 0.4s ease;pointer-events:none}.pl-fcard:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);border-color:var(--color-gold)}.pl-fcard:hover::after{opacity:1}.pl-fcard-icon{width:48px;height:48px;flex-shrink:0;border-radius:14px;background:linear-gradient(135deg,var(--color-bg-warm),var(--color-gold-bg));display:flex;align-items:center;justify-content:center;font-size:24px;transition:all 0.4s ease}.pl-fcard:hover .pl-fcard-icon{background:linear-gradient(135deg,var(--primary),var(--primary-dark));box-shadow:0 4px 16px rgb(194 73 13 / .2)}.pl-fcard h3{font-family:var(--font-heading);font-size:16px;font-weight:600;color:var(--color-text);margin:0 0 4px}.pl-fcard p{font-size:13px;color:var(--color-text-muted);line-height:1.5;margin:0}.pl-deliverables{margin-top:56px;text-align:center}.pl-del-label{font-size:11px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:var(--color-text-muted);margin-bottom:20px}.pl-del-strip{display:flex;flex-wrap:wrap;justify-content:center;gap:8px}.pl-del-item{display:flex;align-items:center;gap:8px;padding:10px 18px;background:rgb(255 255 255 / .7);border:1px solid var(--color-gold-border);border-radius:50px;font-size:13px;font-weight:600;color:var(--color-text);transition:all 0.3s ease}.pl-del-item:hover{border-color:var(--color-gold);box-shadow:0 4px 16px rgb(248 105 35 / .12);transform:translateY(-2px)}.pl-testi-grid{display:grid;grid-template-columns:1fr;gap:20px}.pl-testi-card{background:#fff;border:1px solid var(--color-gold-border);border-radius:var(--radius-lg);padding:28px 24px;transition:all 0.3s ease;position:relative;overflow:hidden}.pl-testi-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.pl-testi-quote-mark{position:absolute;top:12px;right:20px;font-family:var(--font-heading);font-size:72px;line-height:1;color:var(--color-gold);opacity:.1;pointer-events:none}.pl-testi-stars{color:var(--color-gold);font-size:14px;margin-bottom:12px;letter-spacing:2px}.pl-testi-card blockquote{font-size:14px;color:var(--color-text-secondary);line-height:1.7;margin:0 0 16px;font-style:italic}.pl-testi-author{display:flex;align-items:center;gap:12px}.pl-testi-avatar{width:40px;height:40px;border-radius:50%;background:linear-gradient(135deg,var(--color-bg-warm),var(--color-gold-bg));display:flex;align-items:center;justify-content:center;font-weight:700;font-size:14px;color:var(--primary)}.pl-testi-info strong{font-size:14px;color:var(--color-text);display:block}.pl-testi-info span{font-size:12px;color:var(--color-text-muted)}.pl-faq-list{max-width:720px;margin:0 auto}.pl-faq-item{border-bottom:1px solid var(--color-gold-border)}.pl-faq-q{width:100%;text-align:left;padding:20px 0;font-size:16px;font-weight:600;color:var(--color-text);display:flex;align-items:center;justify-content:space-between;gap:16px;transition:color 0.2s ease;background:none;border:none;cursor:pointer;font-family:var(--font-body)}.pl-faq-q:hover{color:var(--primary)}.pl-faq-icon{width:44px;height:44px;flex-shrink:0;border-radius:50%;border:1.5px solid var(--color-gold-border);display:flex;align-items:center;justify-content:center;transition:all 0.3s ease;font-size:18px;color:var(--color-text-muted)}.pl-faq-item.active .pl-faq-icon{transform:rotate(45deg);border-color:var(--primary);color:var(--primary)}.pl-faq-a{max-height:0;overflow:hidden;transition:max-height 0.4s ease}.pl-faq-a-inner{padding:0 0 20px;font-size:14px;color:var(--color-text-secondary);line-height:1.7}.pl-form-section{background:linear-gradient(160deg,#fff,var(--color-bg-warm),#fff);padding:80px 0 100px}.pl-form-wrapper{max-width:640px;margin:0 auto;background:#fff;border:1px solid var(--color-gold-border);border-radius:var(--radius-lg);padding:40px 28px;box-shadow:var(--shadow-xl)}.pl-form-wrapper h2{font-family:var(--font-heading);font-size:clamp(24px,4vw,32px);color:var(--color-text);text-align:center;margin-bottom:8px}.pl-form-sub{text-align:center;font-size:14px;color:var(--color-text-secondary);margin-bottom:24px}.pl-form-logo{display:flex;justify-content:center;margin-bottom:18px}.pl-form-logo img{height:48px;width:auto;object-fit:contain}.pl-form-steps{display:flex;align-items:center;justify-content:center;gap:0;margin-bottom:32px}.pl-form-step-item{display:flex;flex-direction:column;align-items:center;gap:4px}.pl-form-step-num{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:var(--font-heading);font-size:14px;font-weight:700;border:2px solid var(--color-gold-border);color:var(--color-text-muted);background:#fff;transition:all 0.3s ease}.pl-form-step-label{font-size:11px;font-weight:600;color:var(--color-text-muted);transition:color 0.3s ease}.pl-form-step-item.active .pl-form-step-num{background:var(--color-gold);color:#151515;border-color:var(--color-gold);box-shadow:0 3px 12px rgb(248 105 35 / .3)}.pl-form-step-item.active .pl-form-step-label{color:var(--color-gold-dark)}.pl-form-step-item.done .pl-form-step-num{background:var(--primary);color:#fff;border-color:var(--primary)}.pl-form-step-item.done .pl-form-step-label{color:var(--primary)}.pl-form-step-line{width:40px;height:2px;background:var(--color-gold-border);margin:0 8px;margin-bottom:20px;transition:background 0.3s ease}.pl-form-step-line.done{background:var(--primary)}.pl-form-panel{display:none;animation:plPanelIn 0.4s ease}.pl-form-panel.active{display:block}@keyframes plPanelIn{from{opacity:0;transform:translateX(30px)}to{opacity:1;transform:translateX(0)}}.pl-form-nav-row{display:flex;gap:12px;margin-top:8px}.pl-form-nav-row .pl-btn{flex:1;justify-content:center}.pl-form-group{margin-bottom:18px}.pl-form-group label{display:block;font-size:13px;font-weight:600;color:var(--color-text);margin-bottom:6px}.pl-form-group .pl-req{color:var(--color-sale);font-size:12px}.pl-form-group input,.pl-form-group select,.pl-form-group textarea{width:100%;padding:12px 16px;border:1.5px solid var(--color-gold-border);border-radius:var(--radius-sm);font-size:14px;color:var(--color-text);background:#fff;transition:all 0.2s ease;font-family:var(--font-body)}.pl-form-group input:focus,.pl-form-group select:focus,.pl-form-group textarea:focus{outline:none;border-color:var(--color-gold);box-shadow:0 0 0 3px rgb(248 105 35 / .1)}.pl-form-group input.pl-error,.pl-form-group select.pl-error{border-color:var(--color-sale)}.pl-form-group textarea{resize:vertical;min-height:80px}.pl-form-row{display:grid;grid-template-columns:1fr;gap:18px}.pl-form-check{display:flex;align-items:flex-start;gap:10px;margin:20px 0 24px}.pl-form-check input[type="checkbox"]{width:18px;height:18px;margin-top:2px;flex-shrink:0;accent-color:var(--primary)}.pl-form-check span{font-size:13px;color:var(--color-text-secondary)}.pl-form-submit{width:100%;padding:16px;font-size:16px;font-weight:700;border-radius:var(--radius-sm)}.pl-form-success{display:none;text-align:center;padding:40px 20px}.pl-form-success.active{display:block}.pl-form-success h3{font-family:var(--font-heading);font-size:24px;color:var(--primary);margin-bottom:12px}.pl-form-success p{font-size:14px;color:var(--color-text-secondary);margin-bottom:24px}.pl-form-summary{background:var(--color-bg-warm);border-radius:var(--radius-sm);padding:20px;text-align:left;margin-bottom:24px;font-size:13px;color:var(--color-text)}.pl-form-summary dt{font-weight:600;margin-top:8px}.pl-form-summary dd{color:var(--color-text-secondary);margin:0}.pl-floating-cta{position:fixed;bottom:24px;right:110px;z-index:900;opacity:0;transform:translateY(20px);pointer-events:none;transition:all 0.4s ease}.pl-floating-cta.visible{opacity:1;transform:translateY(0);pointer-events:auto}.pl-floating-cta .pl-btn{padding:12px 24px;font-size:13px;box-shadow:0 6px 24px rgb(248 105 35 / .4)}@media (max-width:639px){.pl-testi-grid .pl-testi-card:nth-child(n+4){display:none}.pl-hiw-tab{padding:8px 4px;font-size:10px;min-width:56px}.pl-hiw-tab-num{width:24px;height:24px;font-size:12px}.pl-hiw-card{padding:28px 20px 24px}.pl-hiw-card-head{flex-direction:column;gap:12px}.pl-use-card{height:220px}.pl-counters-grid{grid-template-columns:repeat(2,1fr);gap:16px}.pl-floating-cta{bottom:18px;right:56px}.pl-floating-cta .pl-btn{padding:8px 14px;font-size:11px;border-radius:50px;gap:4px}.pl-floating-cta .pl-btn i{font-size:10px}}@media (min-width:640px){.pl-use-grid{grid-template-columns:repeat(2,1fr)}.pl-custom-grid{grid-template-columns:repeat(2,1fr)}.pl-testi-grid{grid-template-columns:repeat(2,1fr)}.pl-form-row{grid-template-columns:1fr 1fr}.pl-features{grid-template-columns:1fr 1fr}.pl-counters-grid{grid-template-columns:repeat(4,1fr)}}@media (min-width:768px){.pl-custom-grid{grid-template-columns:repeat(3,1fr)}}@media (min-width:960px){.pl-hero-inner{grid-template-columns:1fr 1fr;padding:80px 20px}.pl-use-grid{grid-template-columns:repeat(4,1fr)}.pl-testi-grid{grid-template-columns:repeat(3,1fr)}.pl-form-wrapper{padding:48px 40px}.pl-custom-grid{grid-template-columns:repeat(3,1fr)}.pl-why-main{grid-template-columns:1fr 1fr;gap:56px}}@media (prefers-reduced-motion:reduce){.pl-hero-img-wrap,.pl-hero-img-shadow{animation:none}.pl-hero-bokeh span{animation:none;display:none}.pl-btn-pulse::after{animation:none}}
.pl-btn-outline{color:var(--primary);background:transparent}.pl-use-card-back h3{color:#fff}.pl-use-card-back .pl-btn{color:var(--color-text)}
.gift-icon{width:20px;height:20px;flex-shrink:0;color:var(--color-gold-dark)}.pl-custom-icon .gift-icon{width:34px;height:34px}.gift-config-note{width:100%;margin:12px 0 0;font-size:11px;color:var(--color-text-muted)}.pl-del-item{font-weight:500}

/* ── 動效：滾動進場（漸進增強，無 JS 時完全可見） ── */
.js .reveal{opacity:0;transform:translateY(20px);transition:opacity .7s cubic-bezier(.22,.61,.36,1),transform .7s cubic-bezier(.22,.61,.36,1)}
.js .reveal.is-in{opacity:1;transform:none}
.js .reveal-d1{transition-delay:.08s}
.js .reveal-d2{transition-delay:.16s}
.js .reveal-d3{transition-delay:.24s}
.js .reveal-d4{transition-delay:.32s}

/* 卡片與圖片微交互 */
.pl-usecase-card,.pl-card,.pl-faq-item,.pl-custom-card,.pl-stat{transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease}
.pl-usecase-card:hover,.pl-custom-card:hover{transform:translateY(-4px);box-shadow:0 16px 40px #15151514}
.pl-hero-visual img{transition:transform .8s cubic-bezier(.22,.61,.36,1)}
.pl-hero-visual:hover img{transform:scale(1.03)}
.pl-btn:hover{transform:translateY(-1px)}
.pl-btn:active{transform:translateY(0)}

/* 製程步驟序號：進場時由灰轉橙 */
.js .pl-step .pl-step-num{transition:color .6s ease,border-color .6s ease}
.js .pl-step.is-in .pl-step-num{color:var(--color-gold);border-color:var(--color-gold)}

@media (prefers-reduced-motion:reduce){
  .js .reveal{opacity:1;transform:none;transition:none}
  .pl-usecase-card:hover,.pl-custom-card:hover,.pl-hero-visual:hover img,.pl-btn:hover{transform:none}
}

/* ── 語言切換 ── */
.lang-switch{display:inline-flex;align-items:center;gap:2px;border:1px solid #eadfd5;border-radius:30px;padding:3px;background:#fff}
.lang-switch a{
  font-size:11px;line-height:1;padding:7px 9px;border-radius:24px;
  color:#3a3630;text-decoration:none;white-space:nowrap;
  transition:background-color .2s ease,color .2s ease;
}
.lang-switch a:hover{background:#f6efe9;color:#151515}
.lang-switch a[aria-current="true"]{background:#151515;color:#fbf7f3}
@media(max-width:900px){
  .lang-switch a{font-size:10px;padding:6px 7px}
}
@media(max-width:560px){
  .site-header{flex-wrap:wrap;row-gap:8px}
  .lang-switch{order:3;margin-left:auto}
  .lang-switch a{padding:6px 8px;font-size:10px}
}

/* ── Logo：中文／英文兩版，避免拼接成 SCENTGIFTING ── */
.logo__en{display:none}
html[data-lang="en"] .logo__zh{display:none}
html[data-lang="en"] .logo__en{display:inline}

/* ═══════════ 排版層：字體 / 字級 / 字重 ═══════════ */
:root{
  --font-heading:'Archivo','Noto Sans HK','PingFang HK','Microsoft JhengHei',sans-serif;
  --font-body:'Inter','Noto Sans HK','PingFang HK','Microsoft JhengHei',sans-serif;
  --font-mono:'IBM Plex Mono',ui-monospace,SFMono-Regular,Menlo,monospace;

  --fs-display:clamp(2.6rem,1.7rem + 4.2vw,4.75rem);
  --fs-h2:clamp(1.75rem,1.3rem + 1.5vw,2.5rem);
  --fs-h3:clamp(1.25rem,1.1rem + .55vw,1.5rem);
  --fs-lead:clamp(1rem,.97rem + .2vw,1.125rem);
  --fs-body:.9375rem;
  --fs-small:.875rem;
  --fs-micro:.75rem;
  --fs-eyebrow:.6875rem;
}

body{font-family:var(--font-body);font-size:var(--fs-body);font-weight:400;line-height:1.7;
  letter-spacing:.005em;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}

h1,h2,h3,h4,.pl-hero-title,.pl-section-title{
  font-family:var(--font-heading);font-weight:700;letter-spacing:-.018em;line-height:1.12;
}
h1,.pl-hero-title{font-size:var(--fs-display);letter-spacing:-.03em;line-height:1.06}
h2,.pl-section-title{font-size:var(--fs-h2);letter-spacing:-.022em}
h3{font-size:var(--fs-h3);letter-spacing:-.012em}

p,li,dd,dt{font-size:var(--fs-body);line-height:1.72}
.pl-hero-sub,.pl-section-sub,.pl-form-sub{font-size:var(--fs-lead);line-height:1.62;font-weight:400}
small,.pl-form-footnote,.copyright{font-size:var(--fs-micro);letter-spacing:.01em}

/* 標籤型文字：mono + 字距，建立節奏 */
.pl-hero-badge,.pl-section-eyebrow,
.pl-counter-item,[class*="eyebrow"]{
  font-family:var(--font-mono);font-weight:500;letter-spacing:.14em;text-transform:uppercase;
}
/* 圓形數字徽章（流程 1-5、表單 1-3）：單一字元套 .14em 字距時，空隙全加在字尾，
   文字墨跡就被推離圓心（實測偏左 1.26px），故字距歸零，交由 flex 幾何居中。 */
.pl-hiw-tab-num,.pl-form-step-num{
  font-family:var(--font-mono);font-weight:500;text-transform:uppercase;letter-spacing:0;
  /* 行高若繼承外層標籤的 1.5，行盒 strut 會把字形推離圓的幾何中心（窄屏實測偏上 0.75px）；
     normal 讓行盒與字身等高，字形恆居中於圓。 */
  line-height:normal;
}

/* 按鈕：字重與字距 */
.pl-btn{font-family:var(--font-heading);font-weight:600;font-size:var(--fs-small);
  letter-spacing:.06em;text-transform:none}

/* ═══════════ Logo ═══════════ */
.logo{display:inline-flex;align-items:center;gap:11px;font-family:var(--font-heading);
  text-decoration:none;color:var(--primary);flex:0 0 auto}
.logo__img{display:block;height:26px;width:auto;max-width:none;flex:0 0 auto;object-fit:contain}
.logo__zh{display:inline-flex;align-items:baseline;gap:0;padding-left:11px;
  border-left:1px solid var(--color-gold-border)}
.logo__zh span{font-size:13px;font-weight:600;letter-spacing:.14em;line-height:1;color:#151515}
.logo__zh .gold{color:var(--color-gold)}
.logo__zh small{display:none}
html[data-lang="en"] .logo__zh{display:none}
footer .logo__img{height:23px}
footer .logo__zh span{font-size:14px}
@media(max-width:760px){
  .logo{gap:9px}
  .logo__img{height:22px}
  .logo__zh{padding-left:9px}
  .logo__zh span{font-size:11.5px;letter-spacing:.1em}
}

/* ═══════════ 語言切換：細線分段，mono 字 ═══════════ */
.lang-switch{
  display:inline-flex;align-items:center;gap:1px;padding:3px;
  border:1px solid var(--color-gold-border);border-radius:30px;background:#fff;
  box-shadow:0 1px 2px rgb(21 21 21 / .04);
}
.lang-switch a{
  font-family:var(--font-mono);font-size:10px;font-weight:500;letter-spacing:.05em;
  padding:7px 11px;border-radius:24px;color:var(--color-text-secondary);
  transition:background-color .18s ease,color .18s ease;
}
.lang-switch a:hover{background:var(--color-gold-bg);color:var(--primary)}
.lang-switch a[aria-current="true"]{background:var(--primary);color:#fff}
@media(max-width:900px){
  .lang-switch a{font-size:9.5px;padding:6px 9px}
}
@media(max-width:560px){
  .lang-switch{margin-left:auto}
  .lang-switch a{padding:6px 8px}
}

/* ═══════════ 漸變：去粉，改暖橙 ═══════════ */
.pl-hero{background:linear-gradient(170deg,#ffffff 0%,#fdf9f6 52%,#fdeadf 100%)}
.pl-hero-bokeh span{background:radial-gradient(circle,rgb(248 105 35 / .16),transparent 68%)}
.pl-btn-primary{background:linear-gradient(135deg,#f87d3f 0%,#e85b1a 100%)}
.pl-btn-primary:hover{background:linear-gradient(135deg,#f86923 0%,#d95112 100%)}
.floating-cta{background:linear-gradient(135deg,#f87d3f 0%,#e85b1a 100%)}
.pl-section-alt{background:linear-gradient(180deg,#fffdfb 0%,#fdf9f6 100%)}

/* 排版微調：副文行寬、bullets 層次、頁腳小字 */
.pl-hero-sub{max-width:34em}
.pl-hero-bullets li,.pl-hero-bullets span{font-size:var(--fs-small);color:var(--color-text-secondary)}
.pl-hero-foot,.pl-hero-note{font-family:var(--font-mono);font-size:11px;letter-spacing:.06em;color:var(--color-text-muted)}
.pl-section-sub{max-width:36em;margin-left:auto;margin-right:auto}

/* 覆蓋原版高特異性標題規則（.pl-hero h1 等） */
h1,.pl-hero h1,.pl-hero-title{font-size:var(--fs-display);line-height:1.06;letter-spacing:-.03em}
h2,.pl-section h2,.pl-section-title{font-size:var(--fs-h2);line-height:1.16;letter-spacing:-.022em}
h3,.pl-section h3,.pl-custom-card h3,.pl-faq-q{letter-spacing:-.01em}

/* 修正：深色變體應為深橙而非墨黑，避免漸變發棕 */
:root{--primary-dark:#9a3a08}
.pl-hiw-tab.active{background:linear-gradient(135deg,#f87d3f 0%,#e05814 100%)}
.pl-hiw-tab.active{color:#fff}
.pl-form-logo{display:flex;justify-content:center;margin-bottom:20px}
.pl-form-logo__img{height:26px;width:auto;flex:0 0 auto}

/* 頁腳深色底：logo 需白底承托，否則黑字隱形 */
footer .logo--dark{background:#fff;padding:11px 15px;border-radius:10px;display:inline-flex;align-items:center}
footer .logo__img{height:22px}

/* 英文品牌副標：不得大於 logo 本身 */
.logo__en{
  font-family:var(--font-mono);font-size:11px;font-weight:500;letter-spacing:.12em;
  color:var(--primary);padding-left:11px;border-left:1px solid var(--color-gold-border);
  display:none;
}
html[data-lang="en"] .logo__en{display:inline-flex;align-items:center}
html[data-lang="en"] .logo__en .gold{color:var(--color-gold)}
@media(max-width:760px){
  .logo__en{font-size:9.5px;letter-spacing:.08em;padding-left:8px}
}

/* 標題直接用 logo 原色 #F86923（大字 3.3:1 達 AA large），與品牌橙完全一致 */
.pl-hero h1,.pl-hero-title{color:#f86923}
.pl-hero-badge,.pl-hero .pl-badge{color:#c2490d}
/* 按鈕漸變以 logo 原色為起點 */
.pl-btn-primary,.floating-cta{background:linear-gradient(135deg,#f86923 0%,#e05814 100%)}
.pl-btn-primary:hover,.floating-cta:hover{background:linear-gradient(135deg,#f87d3f 0%,#d95112 100%)}
.pl-hiw-tab.active{background:linear-gradient(135deg,#f86923 0%,#e05814 100%)}

/* 亮橙大字：字重降一檔，避免大面積粗橙刺眼 */
.pl-hero h1,.pl-hero-title{font-weight:600}

/* 品牌名與標題同色：全站品牌橙只保留 #F86923 一個值 */
.logo,.logo__zh span,.logo__en,.logo .gold{color:#f86923}
footer .logo__zh,footer .logo__zh span{color:#f86923}

/* ═══════════ 頭部工具列：語言下拉 + 深淺開關 ═══════════ */
.hdr-tools{display:inline-flex;align-items:center;gap:8px;flex:0 0 auto}
.lang-dd{position:relative}
.lang-dd__btn{
  display:inline-flex;align-items:center;gap:7px;
  height:34px;padding:0 10px 0 7px;
  border:1px solid var(--color-gold-border);border-radius:18px;background:#fff;
  font-family:var(--font-mono);font-size:11px;font-weight:500;letter-spacing:.05em;
  color:#3a3630;cursor:pointer;transition:border-color .18s ease,box-shadow .18s ease;
}
.lang-dd__btn:hover{border-color:#e0b9a2;box-shadow:0 2px 8px rgb(21 21 21 / .05)}
.lang-dd__caret{color:#8a8175;margin-left:1px;transition:transform .2s ease}
.lang-dd[data-open="true"] .lang-dd__caret{transform:rotate(180deg)}

.lang-badge{
  display:inline-flex;align-items:center;justify-content:center;
  min-width:24px;height:20px;padding:0 5px;border-radius:6px;
  background:var(--color-gold-bg,#fdf0e8);color:#c2490d;
  font-family:var(--font-mono);font-size:9.5px;font-weight:600;letter-spacing:.04em;
}

.lang-dd__menu{
  position:absolute;top:calc(100% + 8px);right:0;z-index:60;
  min-width:196px;padding:6px;
  background:#fff;border:1px solid var(--color-gold-border);border-radius:14px;
  box-shadow:0 14px 40px rgb(21 21 21 / .13);
  opacity:0;visibility:hidden;transform:translateY(-6px);
  transition:opacity .18s ease,transform .18s ease,visibility .18s;
}
.lang-dd[data-open="true"] .lang-dd__menu{opacity:1;visibility:visible;transform:none}
.lang-dd__menu a{
  display:flex;align-items:center;gap:9px;
  padding:9px 10px;border-radius:9px;
  font-size:13px;color:#3a3630;text-decoration:none;
  transition:background-color .14s ease,color .14s ease;
}
.lang-dd__menu a:hover{background:#fdf4ee;color:#151515}
.lang-dd__menu a[aria-selected="true"]{background:#fdf0e8;color:#c2490d;font-weight:500}
.lang-dd__menu a[aria-selected="true"]::after{content:"";margin-left:auto;width:6px;height:6px;border-radius:50%;background:#f86923}

.theme-toggle{
  display:inline-flex;align-items:center;justify-content:center;
  width:34px;height:34px;border-radius:50%;
  border:1px solid var(--color-gold-border);background:#fff;color:#3a3630;
  cursor:pointer;transition:border-color .18s ease,color .18s ease,transform .18s ease;
}
.theme-toggle:hover{border-color:#e0b9a2;color:#c2490d}
.theme-toggle:active{transform:scale(.94)}
html:not([data-theme="dark"]) .ico-sun{display:none}
html[data-theme="dark"] .ico-moon{display:none}

/* 頁腳 logo：去白底，反白顯示 */
footer .logo--dark{background:none;padding:0;border-radius:0}
footer .logo__img{filter:brightness(0) invert(1);height:24px}

@media(max-width:760px){
  .site-header{gap:12px}
  .hdr-tools{gap:6px}
  .lang-dd__btn{height:32px;padding:0 8px 0 6px;font-size:10px}
  .lang-dd__cur{display:none}
  .theme-toggle{width:32px;height:32px}
}

/* ═══════════ 深色模式 ═══════════ */
html[data-theme="dark"]{
  --color-text:#F3EEE9;
  --color-text-secondary:#C9BFB4;
  --color-text-muted:#93887C;
  --color-bg-warm:#141110;
  --primary:#f86923;
  --color-gold:#f86923;
  --color-gold-border:#3A312B;
  --color-gold-bg:#2A1D16;
  --color-gold-light:#ff9d66;
  color-scheme:dark;
}
html[data-theme="dark"] body{background:#141110;color:#C9BFB4}
html[data-theme="dark"] .announcement{background:#0B0908;color:#B8ADA2}
html[data-theme="dark"] .site-header{background:rgba(20,17,16,.92);border-bottom:1px solid #332B26;backdrop-filter:blur(12px)}
html[data-theme="dark"] .pl-hero{background:linear-gradient(170deg,#151110 0%,#1B1411 55%,#26170F 100%)}
html[data-theme="dark"] .pl-hero-bokeh span{background:radial-gradient(circle,rgb(248 105 35 / .18),transparent 68%)}
html[data-theme="dark"] .pl-section,
html[data-theme="dark"] .pl-counters,
html[data-theme="dark"] .pl-form-section{background:#141110}
html[data-theme="dark"] .pl-section-alt{background:#181312}

html[data-theme="dark"] h1,html[data-theme="dark"] h2,html[data-theme="dark"] h3,
html[data-theme="dark"] h4,html[data-theme="dark"] .pl-faq-q{color:#F3EEE9}
html[data-theme="dark"] .pl-hero h1,html[data-theme="dark"] .pl-hero-title{color:#f86923}
html[data-theme="dark"] p,html[data-theme="dark"] li,html[data-theme="dark"] dd,
html[data-theme="dark"] .pl-faq-a,html[data-theme="dark"] .pl-section-sub{color:#C9BFB4}

html[data-theme="dark"] .pl-usecase-card,
html[data-theme="dark"] .pl-custom-card,
html[data-theme="dark"] .pl-faq-item,
html[data-theme="dark"] .pl-fcard,
html[data-theme="dark"] .pl-form-wrapper,
html[data-theme="dark"] .pl-counter-item{background:#1D1815;border-color:#332B26}

html[data-theme="dark"] input,html[data-theme="dark"] select,html[data-theme="dark"] textarea{
  background:#241E1A;border-color:#3A312B;color:#F3EEE9;
}
html[data-theme="dark"] input::placeholder,html[data-theme="dark"] textarea::placeholder{color:#7C7267}

html[data-theme="dark"] .lang-dd__btn,html[data-theme="dark"] .theme-toggle,
html[data-theme="dark"] .header-cta{background:#1D1815;border-color:#3A312B;color:#E8E0D8}
html[data-theme="dark"] .lang-dd__menu{background:#1D1815;border-color:#3A312B;box-shadow:0 18px 44px rgb(0 0 0 / .55)}
html[data-theme="dark"] .lang-dd__menu a{color:#C9BFB4}
html[data-theme="dark"] .lang-dd__menu a:hover{background:#2A211C;color:#fff}
html[data-theme="dark"] .lang-dd__menu a[aria-selected="true"]{background:#2A1D16;color:#f86923}
html[data-theme="dark"] .lang-badge{background:#2A1D16;color:#f86923}

html[data-theme="dark"] .pl-hiw-tabs{background:#1D1815;border-color:#332B26}
html[data-theme="dark"] .pl-hiw-tab{color:#93887C}
html[data-theme="dark"] .pl-hiw-tab.active{color:#fff}
html[data-theme="dark"] .pl-hero-badge{background:#2A1D16;border-color:#3A2A1F;color:#f86923}

html[data-theme="dark"] footer{background:#0D0A09;color:#A99E93}
html[data-theme="dark"] footer h3{color:#F3EEE9}
html[data-theme="dark"] footer a{color:#B8ADA2}
html[data-theme="dark"] footer a:hover{color:#f86923}

html[data-theme="dark"] .pl-btn-outline{border-color:#4A3B32;color:#E8E0D8}
html[data-theme="dark"] .pl-btn-outline:hover{border-color:#f86923;color:#f86923}
html[data-theme="dark"] .preview-note,html[data-theme="dark"] .form-footnote{color:#93887C;background:#1D1815;border-color:#332B26}
html[data-theme="dark"] .pl-faq-a-inner,html[data-theme="dark"] .pl-faq-a{background:transparent}

/* 深色模式：header 內的標誌與導覽需反白 */
html[data-theme="dark"] .site-header .logo__img{filter:brightness(0) invert(1)}
html[data-theme="dark"] .site-header nav a{color:#C9BFB4}
html[data-theme="dark"] .site-header nav a:hover{color:#F3EEE9}
html[data-theme="dark"] .header-cta{border-color:#4A3B32;color:#F3EEE9}
html[data-theme="dark"] .header-cta:hover{border-color:#f86923;color:#f86923}
html[data-theme="dark"] .lang-dd__btn .lang-badge{background:#2A1D16;color:#f86923}

/* 下拉：去掉位移動畫，減少「剛展開就點空」 */
.lang-dd__menu{transform:none;transition:opacity .12s ease,visibility .12s}
.lang-dd[data-open="true"] .lang-dd__menu{transform:none}
.lang-dd{position:relative;z-index:70}
.site-header{z-index:80}
.lang-dd__btn{min-height:38px}
.lang-dd__menu a{min-height:42px}
@media(max-width:760px){
  .lang-dd__btn{min-height:40px}
  .lang-dd__menu{min-width:180px}
  .lang-dd__menu a{min-height:46px;font-size:14px}
}

/* ═══ 深色模式補漏：仍為白底的容器 ═══ */
html[data-theme="dark"] .pl-use-card-front,
html[data-theme="dark"] .pl-hiw-card,
html[data-theme="dark"] .pl-hiw-card.active,
html[data-theme="dark"] .pl-why-tab{background:#1D1815;border-color:#332B26;color:#C9BFB4}
html[data-theme="dark"] .pl-hiw-card.active{border-color:#4A3B32}
html[data-theme="dark"] .pl-why-tab[aria-selected="true"],
html[data-theme="dark"] .pl-why-tab.active{background:#2A1D16;color:#f86923;border-color:#5A3A28}
html[data-theme="dark"] .pl-use-card-front h3,
html[data-theme="dark"] .pl-hiw-card h3{color:#F3EEE9}
html[data-theme="dark"] .pl-use-card-front p,
html[data-theme="dark"] .pl-hiw-card p,
html[data-theme="dark"] .pl-hiw-card-desc{color:#C9BFB4}

/* 表單步驟數字：未啟用態 */
html[data-theme="dark"] .pl-form-step-num{background:#241E1A;border-color:#4A3B32;color:#B8ADA2;box-shadow:none}
html[data-theme="dark"] .pl-form-step-item.active .pl-form-step-num{background:#f86923;border-color:#f86923;color:#151515}
html[data-theme="dark"] .pl-form-step-label{color:#D6CCC2}
html[data-theme="dark"] .pl-form-step-item.active .pl-form-step-label{color:#f86923}
html[data-theme="dark"] .pl-form-step-line{background:#3A312B}

/* ═══ 橙底上的文字一律固定為深色（不隨主題變亮） ═══ */
.pl-btn-primary,.pl-btn-gold,.pl-form-step-num,
.pl-hiw-tab.active,.floating-cta{color:#151515}
.pl-hiw-tab.active{color:#fff}

/* 小標籤在深色底改用亮橙，避免深橙壓深底 */
html[data-theme="dark"] .pl-hero-badge,
html[data-theme="dark"] .pl-section-eyebrow,
html[data-theme="dark"] .pl-form-step-label{color:#f86923}

/* 翻卡內的橙底按鈕：容器規則把文字改成 --color-text，需覆蓋回深色 */
.pl-use-card-front .pl-btn-primary,
.pl-use-card-back .pl-btn-primary,
.pl-use-card .pl-btn-primary,
.pl-custom-card .pl-btn-primary{color:#151515}

/* 語言下拉選中項：提升對比（原 4.42:1） */
.lang-dd__menu a[aria-selected="true"]{color:#9c3208}
html[data-theme="dark"] .lang-dd__menu a[aria-selected="true"]{color:#ff8a4d}

/* ═══ Logo 明暗版本切換（用真圖，不用濾鏡） ═══ */
.logo__img--light{display:none}
html[data-theme="dark"] .logo__img--dark{display:none}
html[data-theme="dark"] .logo__img--light{display:block}
/* 頁腳永遠是深底，固定用淺色版 */
footer .logo__img--dark{display:none}
footer .logo__img--light{display:block}
/* 舊的反白濾鏡作廢 */
footer .logo__img{filter:none}
html[data-theme="dark"] .site-header .logo__img{filter:none}

/* ═══ 語言下拉：國旗圖示 + 不換行 + 加寬 ═══ */
.lang-flag{display:inline-flex;align-items:center;justify-content:center;width:24px;height:16px;flex:0 0 auto}
.lang-flag .flag{width:24px;height:16px;display:block;border-radius:2.5px;box-shadow:0 0 0 1px rgb(0 0 0 / .09)}
.flag--text{
  width:24px;height:16px;border-radius:2.5px;display:inline-flex;align-items:center;justify-content:center;
  background:#fdece1;color:#b2440d;font-family:var(--font-body);font-size:10px;font-weight:700;line-height:1;
  box-shadow:0 0 0 1px rgb(178 68 13 / .18);
}
.lang-dd__menu{min-width:252px}
.lang-dd__menu a{white-space:nowrap;gap:10px}
.lang-dd__menu a span:last-child{flex:1 1 auto}

/* 深色模式：文字徽章與旗標邊框 */
html[data-theme="dark"] .flag--text{background:#3A2418;color:#ff9350;box-shadow:0 0 0 1px rgb(255 147 80 / .22)}
html[data-theme="dark"] .lang-flag .flag{box-shadow:0 0 0 1px rgb(255 255 255 / .12)}

/* 按鈕內旗標略小 */
.lang-dd__btn .lang-flag{width:20px;height:14px}
.lang-dd__btn .lang-flag .flag,
.lang-dd__btn .flag--text{width:20px;height:14px}
.lang-dd__btn .flag--text{font-size:9px}

@media(max-width:760px){
  .lang-dd__menu{min-width:236px}
  .lang-dd__menu a{font-size:14px;gap:9px}
}

/* ═══ Logo 加大 ═══ */
.site-header .logo__img{height:38px;width:auto}
footer .logo__img{height:34px;width:auto}
.pl-form-logo__img{height:32px;width:auto}
@media(max-width:900px){
  .site-header .logo__img{height:32px}
}
@media(max-width:760px){
  .site-header .logo__img{height:29px}
  footer .logo__img{height:27px}
  .pl-form-logo__img{height:27px}
}

/* Logo 加大後收緊 header 內距，避免 header 過高 */
.site-header{padding-block:13px}
@media(max-width:760px){.site-header{padding-block:10px}}

/* ═══ 點擊區修正：用偽元素擴熱區，不改變視覺佈局 ═══ */
.site-header nav a{position:relative}
.site-header nav a::after{content:"";position:absolute;left:-4px;right:-4px;top:-12px;bottom:-12px}
.announcement a{position:relative}
.announcement a::after{content:"";position:absolute;left:-6px;right:-6px;top:-9px;bottom:-9px}
footer a{position:relative}
footer a::after{content:"";position:absolute;left:-6px;right:-6px;top:-8px;bottom:-8px}
.theme-toggle{width:40px;height:40px}
.lang-dd__btn{min-height:40px}
@media(max-width:760px){
  .theme-toggle{width:40px;height:40px}
}

/* 改用真實 padding + 負 margin：盒子變大可量測，視覺不位移 */
.site-header nav a{padding:12px 5px;margin:-12px -5px;;display:inline-block}
.announcement a{padding:8px 0;margin:-8px 0;display:inline-block}
footer a{padding:8px 0;margin:-8px 0;display:block}
.site-header .logo{padding:2px 0}

/* 公告條與頁腳鏈接再撐高到 40px */
.announcement a{padding:10px 0;margin:-10px 0}
footer a{padding:10px 0;margin:-10px 0}

/* 移動端下拉改左對齊，避免向左溢出視口 */
@media(max-width:760px){
  .lang-dd__menu{left:0;right:auto;min-width:224px}
  .site-header .logo{padding-block:5px}
  .header-cta{min-height:40px;display:inline-flex;align-items:center}
  .announcement a{padding:11px 0;margin:-11px 0}
}

@media(max-width:760px){
  .announcement a{padding:13px 0;margin:-13px 0}
  .site-header .logo{padding-block:7px}
}

/* 語言選單：fixed 定位由 JS 計算，寬度不超過視口 */
.lang-dd__menu{position:fixed;right:auto;top:auto;left:auto;max-width:calc(100vw - 24px)}

/* 768 區間 logo 補到 40px 熱區 */
@media(min-width:761px) and (max-width:900px){
  .site-header .logo{padding-block:6px}
}

/* ═══ FAQ：左右補安全內距（原版 padding 只有上下，文字貼邊） ═══ */
.pl-faq-q{padding:20px 24px}
.pl-faq-a-inner{padding-left:24px;padding-right:24px}
.pl-faq-list{overflow:hidden;border-radius:12px}
@media(max-width:760px){
  .pl-faq-q{padding:18px 18px}
  .pl-faq-a-inner{padding-left:18px;padding-right:18px}
  .pl-faq-list{border-radius:10px}
}

/* ═══ 深色模式：半透明白底的膠囊（淺底＋淺字＝看不見） ═══ */
html[data-theme="dark"] .pl-del-item{
  background:#241E1A;border-color:#3A312B;color:#E8E0D8;
}
html[data-theme="dark"] .pl-del-item:hover{
  border-color:var(--color-gold);background:#2A211C;
}

/* 深色：腳註原本無底色，不應被套上卡片底（否則文字貼邊） */
html[data-theme="dark"] .form-footnote{background:transparent;border-color:transparent;color:#93887C}

/* ═══ 深色：3–6% 橙底在深底上等於消失，改為明確表面 ═══ */
html[data-theme="dark"] .pl-why-tab-content{
  background:#1F1915;border-left-color:var(--color-gold);
}
html[data-theme="dark"] .pl-why-tab-text{color:#E8E0D8}
html[data-theme="dark"] .pl-badge{
  background:#2A1D16;color:#f86923;
}

/* 列印／匯出 PDF 時，進場動畫元素必須全部可見（否則整頁空白） */
@media print{
  .js .reveal{opacity:1!important;transform:none!important;transition:none!important}
}

/* ═══ 製程五步：自動輪播控制 ═══ */
.pl-hiw-progress-label{min-width:96px}
.pl-hiw-toggle{
  width:40px;height:40px;flex:0 0 auto;display:inline-grid;place-items:center;
  border:1px solid var(--color-gold-border);border-radius:50%;background:#fff;
  color:var(--color-text-secondary);cursor:pointer;
  transition:color .18s ease,border-color .18s ease,background-color .18s ease;
}
.pl-hiw-toggle:hover{color:var(--primary);border-color:var(--primary)}
.pl-hiw-toggle:focus-visible{outline:2px solid var(--primary);outline-offset:2px}
.pl-hiw-toggle .ico-play{display:none}
.pl-hiw-toggle[aria-pressed="true"] .ico-pause{display:none}
.pl-hiw-toggle[aria-pressed="true"] .ico-play{display:block}
html[data-theme="dark"] .pl-hiw-toggle{background:#1D1815;border-color:#3A312B;color:#C9BFB4}
html[data-theme="dark"] .pl-hiw-toggle:hover{color:#f86923;border-color:#f86923}

@media(max-width:760px){
  .pl-hiw-progress{gap:10px;margin-bottom:28px}
  .pl-hiw-progress-label{min-width:0;font-size:11px}
}

/* 減少動態：不要自動輪播的視覺干擾 */
@media (prefers-reduced-motion: reduce){
  .pl-hiw-card{animation:none}
  .pl-hiw-progress-fill{transition:none}
}

/* ═══ 台灣區碼方塊：清楚可讀（不用旗幟） ═══ */
.flag--text{
  width:24px;height:16px;border-radius:2.5px;display:inline-flex;align-items:center;justify-content:center;
  background:#f86923;color:#151515;font-family:var(--font-mono);font-size:9px;font-weight:700;
  letter-spacing:.02em;line-height:1;box-shadow:0 0 0 1px rgb(0 0 0 / .08);
}
.lang-dd__btn .flag--text{width:20px;height:14px;font-size:8px}
html[data-theme="dark"] .flag--text{background:#f86923;color:#151515;box-shadow:0 0 0 1px rgb(255 255 255 / .12)}

/* 公告條：修回被我覆蓋掉的左間距（負 margin 擴熱區時誤刪） */
.announcement a{margin:-10px 0 -10px 12px}
@media(max-width:760px){
  .announcement a{margin:-13px 0 -13px 8px}
}

/* 區碼方塊：必須置中（.lang-flag .flag 的 display:block 會蓋掉 flex 置中） */
.lang-flag .flag--text{display:inline-flex;align-items:center;justify-content:center;font-size:9.5px;letter-spacing:.03em}
.lang-dd__btn .lang-flag .flag--text{font-size:8.5px}

/* 無障礙專用文字：視覺隱藏但仍可被讀屏讀到（重建版原本缺這個 class） */
.sr-only{
  position:absolute;width:1px;height:1px;padding:0;margin:-1px;
  overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);
  white-space:nowrap;border:0;
}

/* ═══════════ 語言切換：橙色膠囊 + 卡片式清單 ═══════════ */
.lang-dd__btn{
  height:40px;padding:0 14px;gap:7px;
  background:#f86923;border:1px solid #f86923;border-radius:999px;
  color:#151515;box-shadow:0 2px 8px rgb(248 105 35 / .22);
  font-family:var(--font-mono);font-size:11.5px;font-weight:600;letter-spacing:.06em;
}
.lang-dd__btn:hover{background:#ee5f18;border-color:#ee5f18;color:#151515;box-shadow:0 4px 14px rgb(248 105 35 / .3)}
.lang-dd__globe{flex:0 0 auto;opacity:.92}
.lang-dd__caret{color:#151515;opacity:.7;margin-left:0}
.lang-dd[data-open="true"] .lang-dd__caret{transform:rotate(180deg)}

.lang-dd__menu{
  min-width:300px;max-width:calc(100vw - 24px);
  padding:12px 10px 10px;border-radius:18px;
  background:#fff;border:1px solid #f2e6db;
  box-shadow:0 20px 48px rgb(21 21 21 / .16),0 2px 6px rgb(21 21 21 / .05);
}
.lang-dd__title{
  padding:4px 12px 10px;font-family:var(--font-body);
  font-size:13px;font-weight:700;color:#3a3630;letter-spacing:.02em;
}
.lang-dd__menu a{
  display:flex;align-items:center;gap:12px;
  padding:11px 12px;border-radius:12px;color:#151515;
  white-space:nowrap;text-decoration:none;
}
.lang-dd__menu a::after{content:none}
.lang-dd__menu a:hover{background:#fdf4ee}
.lang-dd__menu a[aria-current="true"]{background:#fdece1}
.lang-dd__text{display:flex;flex-direction:column;gap:1px;flex:1 1 auto;min-width:0}
.lang-dd__text b{font-size:17px;font-weight:700;line-height:1.3;letter-spacing:-.01em;color:inherit}
.lang-dd__text small{font-size:12.5px;line-height:1.35;color:#93887C;font-weight:400}
.lang-dd__menu a[aria-current="true"] .lang-dd__text small{color:#b5643f}
.lang-dd__check{
  width:22px;height:22px;flex:0 0 auto;border-radius:50%;
  background:#f86923;color:#fff;display:none;place-items:center;
}
.lang-dd__check svg{width:12px;height:12px;display:block}
.lang-dd__menu a[aria-current="true"] .lang-dd__check{display:grid}

html[data-theme="dark"] .lang-dd__menu{
  background:#1D1815;border-color:#3A312B;
  box-shadow:0 22px 52px rgb(0 0 0 / .62);
}
html[data-theme="dark"] .lang-dd__title{color:#C9BFB4}
html[data-theme="dark"] .lang-dd__menu a{color:#F3EEE9}
html[data-theme="dark"] .lang-dd__menu a:hover{background:#2A211C}
html[data-theme="dark"] .lang-dd__menu a[aria-current="true"]{background:#2A1D16}
html[data-theme="dark"] .lang-dd__text small{color:#93887C}
html[data-theme="dark"] .lang-dd__menu a[aria-current="true"] .lang-dd__text small{color:#c58a63}

@media(max-width:760px){
  .lang-dd__cur{display:inline}
  .lang-dd__btn{height:40px;padding:0 12px;font-size:11px}
  .lang-dd__menu{min-width:0;width:min(300px,calc(100vw - 24px));padding:10px 8px 8px}
  .lang-dd__text b{font-size:16px}
}

/* 勾選圈：舊規則 `a span:last-child{flex:1 1 auto}` 會把它拉寬，需更高特異性 */
.lang-dd__menu a span.lang-dd__check{flex:0 0 22px;width:22px;height:22px;padding:0}
.lang-dd__menu a span.lang-dd__text{flex:1 1 auto;min-width:0}

/* 收起時必須脫離佈局：visibility:hidden 仍會撐寬頁面（手機可橫向滑進空白） */
.lang-dd__menu{display:none;opacity:1;visibility:visible;transform:none}
.lang-dd[data-open="true"] .lang-dd__menu{display:block;animation:langIn .16s ease-out}
@keyframes langIn{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}

/* ═══ 語言膠囊：修正深色覆蓋、字體、地球圖示、白色文字 ═══ */
/* 舊的深色規則把膠囊漆成深底，箭頭又是近黑色 → 看不見。這裡強制維持品牌橙。 */
html[data-theme="dark"] .lang-dd__btn{
  background:#c2490d;border-color:#c2490d;color:#fff;
  box-shadow:0 2px 10px rgb(0 0 0 / .45);
}
.lang-dd__btn{
  background:#c2490d;border-color:#c2490d;color:#fff;
  box-shadow:0 2px 8px rgb(194 73 13 / .28);
}
.lang-dd__btn:hover{background:#a83d09;border-color:#a83d09;color:#fff}
/* 代碼字：改用已載入的 Archivo（原本用 IBM Plex Mono 600，該字重沒載入 → 合成粗體，字面被壓扁） */
.lang-dd__cur{
  font-family:var(--font-heading);font-size:12px;font-weight:600;
  letter-spacing:.08em;line-height:1;font-feature-settings:"tnum";
  color:currentColor;
}
.lang-dd__globe{color:currentColor;opacity:1}
.lang-dd__caret{color:currentColor;opacity:.85}
html[data-theme="dark"] .lang-dd__caret{color:currentColor;opacity:.85}

/* 標頭：右側群組靠右固定，語言長度變化不會推動工具列與 CTA */
.site-header .hdr-tools{margin-left:auto}
.site-header nav{flex:0 0 auto}

/* 膠囊改用品牌橙配白字（與參考稿一致；深度橙會與全站主色不一致） */
.lang-dd__btn{background:#f86923;border-color:#f86923;color:#fff;box-shadow:0 2px 10px rgb(248 105 35 / .3)}
.lang-dd__btn:hover{background:#e85b1a;border-color:#e85b1a;color:#fff}
html[data-theme="dark"] .lang-dd__btn{background:#f86923;border-color:#f86923;color:#fff;box-shadow:0 2px 12px rgb(248 105 35 / .35)}

/* CTA 固定最小寬度：英文標籤比中文長 45px，會把語言鈕推走 */
@media(min-width:761px){
  .header-cta{min-width:148px;display:inline-flex;align-items:center;justify-content:center;text-align:center}
}

/* 761–1023：導覽 + 工具列 + CTA 放不進同一列（英文導覽最長 344px）。
   CTA 在 hero 與浮動條都有，此區間先讓出，避免整列溢出。 */
@media(min-width:761px) and (max-width:1023px){
  .header-cta{display:none}
}

/* ═══ 版心寬度體系：一個寬欄 + 一個窄欄 ═══
   寬欄 = 容器內容區 1232（卡片網格、清單、條列）
   窄欄 = 720（FAQ / 報價 / 表單 / 製程卡片等「閱讀型」區塊）
   原本窄欄有三種寬度（640 / 680 / 720），相鄰版塊左緣對不齊。 */
:root{--measure:720px}
.pl-faq-list,.pl-pricing-box,.pl-form-wrapper,.pl-hiw-card-wrap,.pl-hiw-tabs{
  max-width:var(--measure);margin-left:auto;margin-right:auto;
}

/* ═══ 窄屏：按鈕與標籤列不得撐破容器（英文標籤比中文長很多） ═══ */
.pl-btn{max-width:100%}
@media(max-width:560px){
  .pl-btn{white-space:normal;text-align:center;padding:13px 22px;line-height:1.35}
}
@media(max-width:400px){
  .pl-pricing-box{padding:34px 20px}
  .pl-btn{padding:12px 18px;font-size:14px}
}

/* 製程標籤：窄屏改換行，五步全部可見；單列時才靠橫向捲動 */
@media(max-width:760px){
  .pl-hiw-tabs{flex-wrap:wrap;row-gap:8px}
  .pl-hiw-tab{flex:0 1 auto}
}

/* 觸控裝置上，短字導覽項目也要有 44px 寬的熱區 */
@media(hover:none){
  .site-header nav a{min-width:44px;display:inline-flex;align-items:center;justify-content:center}
}

/* 按鈕保底高度：窄屏換行時不得矮於 46px（觸控熱區） */
.pl-btn{min-height:46px}
@media(max-width:560px){ .pl-btn{min-height:48px} }
@media(max-width:400px){ .pl-btn{min-height:46px} }

/* 導覽短字的熱區：不依賴 hover 媒體查詢（模擬器與部分裝置不一定命中） */
.site-header nav a{min-width:44px;display:inline-flex;align-items:center;justify-content:center}

/* 手機頁首：不換行，讓出 CTA（hero 與浮動條都有），保持單行 */
@media(max-width:560px){
  .site-header{flex-wrap:nowrap;row-gap:0;gap:12px}
  .header-cta{display:none}
}
@media(max-width:380px){
  .site-header{padding:14px 16px;gap:10px}
  .site-header .logo__img{height:26px}
  .lang-dd__btn{padding:0 10px}
}

/* 浮動 CTA：滾到表單區時自動收起，避免壓住正在讀的內容 */
.floating-cta{transition:opacity .25s ease,transform .25s ease}
.floating-cta.is-hidden{opacity:0;transform:translateY(10px);pointer-events:none}
@media (prefers-reduced-motion: reduce){
  .floating-cta{transition:none}
  .floating-cta.is-hidden{transform:none}
}

/* 手機：浮動按鈕縮小，並在頁尾預留高度，避免遮住最後一段內容 */
@media(max-width:560px){
  .floating-cta{
    font-size:12.5px;padding:11px 15px;min-height:44px;
    bottom:calc(12px + env(safe-area-inset-bottom,0px));right:12px;
    max-width:calc(100vw - 24px);box-shadow:0 6px 20px rgb(21 21 21 / .28);
  }
  body{padding-bottom:72px}
}

/* 手機：五個製程標籤排成 3+2 網格，避免最後一個落單 */
@media(max-width:560px){
  .pl-hiw-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
  .pl-hiw-tab{width:100%;justify-content:center;padding:10px 6px}
}

/* 標題平均分行：避免中文標題最後一行只剩一兩個字（不支援的瀏覽器照常換行） */
h1,h2,h3,.pl-section-title,.pl-hero-title{text-wrap:balance}
/* 段落避免末行只剩一兩字（text-wrap:pretty） */
p,.pl-section-sub,.pl-hero-sub,.pl-hiw-card-desc{text-wrap:pretty}

/* 公告條：間距交給 flex gap，不再靠文案裡的空白字元（各語言才一致） */
.announcement{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;column-gap:12px}
.announcement a{margin:-10px 0}
@media(max-width:760px){
  .announcement{column-gap:8px}
  .announcement a{margin:-13px 0}
}

/* H1 不用 balance：中文標題被平均分行時會把詞拆開（品牌 → 品/牌） */
h1,.pl-hero-title{text-wrap:normal}

/* 320 級小屏：H1 降一級，「為你的品牌，打造」才放得進一行，不會把詞拆開 */
@media(max-width:360px){
  h1,.pl-hero-title{font-size:clamp(1.9rem,1.4rem + 3vw,2.125rem);line-height:1.16}
}
@media(max-width:360px){
  h1,.pl-hero h1,.pl-hero-title{font-size:clamp(1.9rem,1.4rem + 3vw,2.125rem);line-height:1.16}
}

/* ═══ 真機（iOS Safari）防護 ═══ */
html{-webkit-text-size-adjust:100%}
a,button{-webkit-tap-highlight-color:transparent}
.site-header{-webkit-backdrop-filter:blur(12px)}
/* iOS 聚焦 <16px 的輸入框會自動放大整頁，手機上一律 16px */
@media(max-width:760px){
  input,select,textarea{font-size:16px!important}
}

/* ═══════════ 導覽列調整：首頁項、logo 間距、CTA 降權、工具列順序 ═══════════ */

/* ① logo 與導覽拉開距離：原本只靠 flex gap 22px，字幾乎貼著標誌 */
.site-header nav{margin-left:32px}

/* ② 右側 CTA 由實心膠囊改為文字鏈：不搶視覺，hover 才浮出橙色下劃線 */
.header-cta{
  background:none;border:0;border-radius:0;
  min-width:0;min-height:42px;margin-left:6px;padding:11px 2px;
  font-size:12.5px;font-weight:500;letter-spacing:.02em;line-height:1.5;
  color:#3a3630;position:relative;white-space:nowrap;
  display:inline-flex;align-items:center;
  transition:color .2s ease;
}
.header-cta::after{
  content:"";position:absolute;left:2px;right:2px;bottom:7px;height:1px;
  background:#f86923;transform:scaleX(0);transform-origin:left center;
  transition:transform .28s cubic-bezier(.22,.61,.36,1);
}
.header-cta:hover,.header-cta:focus-visible{color:#f86923}
.header-cta:hover::after,.header-cta:focus-visible::after{transform:scaleX(1)}

html[data-theme="dark"] .header-cta{background:none;border:0;color:#e8e0d8}
html[data-theme="dark"] .header-cta:hover,html[data-theme="dark"] .header-cta:focus-visible{color:#f86923}

/* ③ 多一項導覽後，中等寬度需收窄，避免與工具列擠壓 */
@media(min-width:761px) and (max-width:1100px){
  .site-header nav{gap:17px;font-size:12px;margin-left:22px}
  .header-cta{font-size:12px}
}
@media(min-width:761px) and (max-width:900px){
  .site-header nav{gap:13px;font-size:11.5px;margin-left:20px}
  .site-header .logo__img{height:30px}
}

/* CTA 改文字鏈後仍要沿用既有的區間讓位規則（否則 display:inline-flex 會蓋掉原本的 display:none） */
@media(min-width:761px) and (max-width:1023px){.header-cta{display:none}}
@media(max-width:560px){.header-cta{display:none}}

/* 標題不再用 text-wrap:balance：中文沒有空格，balance 的「平均分行」
   會把詞從中間切開（送禮 → 送／禮）。改由 orphan.js 依詞界斷行。 */
h2,h3,.pl-section-title{text-wrap:normal}

/* ═══════════ 頁尾白帶修正 ═══════════
   原本 body 帶 72px padding-bottom 給浮動 CTA 落腳，但這段留白落在深色頁腳之外，
   淺色模式下就在頁尾露出一條白帶（手機上特別明顯，因為頁腳是整片深色，白帶被襯出來）。
   改成由頁腳自己承擔：深色背景一路鋪到底，CTA 仍有位置，白帶消失。 */
body{padding-bottom:0}
/* 底部不需要再為浮動 CTA 預留 64px：CTA 在「表單區進入視窗」時就收起（float.js），
   而表單區正好在頁尾之前，所以捲到頁尾時它一定是隱藏的 —— 那段預留從未派上用場，
   只是讓頁尾下方多出一大片空白。改成單純的收尾內距。 */
footer{padding-bottom:34px}
@media(max-width:760px){
  footer{padding-bottom:30px}
  /* 手機原本在 .copyright 上又墊了 60px 下內距（同樣是給 CTA 的），與上面的 footer 內距重複疊加，
     文字到頁面底端一度達到 144px。這裡一併收掉。 */
  .copyright{padding-bottom:0}
}

/* ═══════════ iOS Safari：按鈕內 SVG 被壓成極小 ═══════════
   現象：深淺模式圖示在 iPhone 上明顯偏小，安卓正常。
   成因：<button> 帶系統外觀（-webkit-appearance:button）時，Safari 對內部 flex 佈局的處理
        與 Chrome 不同，SVG 只靠 width/height 屬性、沒有 CSS 尺寸，就會被當成可壓縮項縮小。
   對策：三件事一起做才穩 —— 關掉系統外觀、給 SVG 明確 CSS 尺寸、禁止 flex 壓縮。 */
button{-webkit-appearance:none;appearance:none}
.theme-toggle{-webkit-appearance:none;appearance:none}
.theme-toggle .ico-sun,.theme-toggle .ico-moon{width:18px;height:18px;flex:0 0 auto}
.lang-dd__btn .lang-dd__globe{width:16px;height:16px;flex:0 0 auto}
.lang-dd__btn .lang-dd__caret{width:10px;height:6px;flex:0 0 auto}
.lang-dd__check svg{flex:0 0 auto}

/* iOS 上按鈕的預設 padding / line-height 會吃掉圖示的可用空間，一併歸零 */
.theme-toggle{padding:0;line-height:0;display:inline-flex;align-items:center;justify-content:center}
.theme-toggle .ico-sun,.theme-toggle .ico-moon{min-width:18px;min-height:18px}
.lang-dd__btn .lang-dd__globe{min-width:16px;min-height:16px}

/* ═══ 註：頭部 CTA（.header-cta）已於 2026-11-02 依需求移除 ═══
   HTML 中的節點已刪，下列歷史規則全部失效、保留僅為可回退。
   若日後要恢復：把 <a class="header-cta" href="#pl-lead-form" data-i18n="s7">…</a>
   放回 </header> 前即可，樣式（文字鏈 + hover 橙色下劃線）仍完整。 */

/* ═══════════ 首屏主視覺：對齊修正 ═══════════ */

/* ① 賣點圓點原本「有尺寸、沒底色」：background 簡寫設了漸層，下一行 background-image
      又被勾圖 SVG 覆蓋，等於只剩一個透明圓 + 白色勾 —— 在白底上完全看不見，
      只留下 20px 圓點 + 10px 間距的「幽靈縮進」，賣點看起來比正文歪一截。
      這裡把勾圖與漸層疊回去（勾在上、漸層在下），圓點才真正存在。 */
.pl-hero-bullets li::before{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='%23fff' viewBox='0 0 24 24'%3E%3Cpath d='M9 16.17L4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z'/%3E%3C/svg%3E"),
                   linear-gradient(135deg,var(--color-gold),var(--color-gold-light));
  background-repeat:no-repeat,no-repeat;
  background-position:center center,center center;
  background-size:12px 12px,cover;
  background-color:var(--color-gold);
}

/* ② 圖片原本限寬 400px，放在 620px 的右欄裡居中，右側硬是比左側多空 68px ——
      整塊視覺重心因此偏左。放寬到貼近欄寬，左右留白才對稱。 */
.pl-hero-img-wrap{max-width:min(100%,560px)}
.pl-hero-img-wrap img{max-width:100%}

/* ═══════════ 公告條：雙條上下輪播 ═══════════
   兩條文案長度不一（英文尤其會換行），用 grid 疊在同一格：
   高度自動取較長者，短的那條垂直居中，切換時版面不跳。 */
.announcement{display:block;padding:0}
.announcement__viewport{display:grid;overflow:hidden}
.announcement__line{
  grid-area:1/1;
  display:flex;flex-wrap:wrap;align-items:center;justify-content:center;
  column-gap:12px;padding:10px 16px;
  opacity:0;transform:translateY(100%);
  transition:opacity .45s ease,transform .6s cubic-bezier(.22,.61,.36,1);
}
.announcement__line.is-active{opacity:1;transform:translateY(0)}
.announcement__line.is-out{opacity:0;transform:translateY(-100%)}
.announcement .announcement__line a{margin:-10px 0}

@media(max-width:760px){
  .announcement__line{padding:9px 14px;column-gap:8px}
  .announcement .announcement__line a{margin:-13px 0}
}

@media(prefers-reduced-motion:reduce){
  .announcement__line{transition:none}
}

/* ═══════════ 公告條切換：改為「舊先走、新後到」的交叉淡入 ═══════════
   原本兩條各移動 100%（等於整條高度），在 35px 高的窗口裡就是「整塊對調」，
   配合起步很猛的 ease-out，看起來像啪一下跳過去 —— 這就是「生硬」的來源。
   現在：位移只留 10px（保留方向感），並把兩條錯開時間：
     舊條 0–200ms 迅速淡出上移離場，新條 100ms 後才淡入、440ms 到位。
   兩者只在 100–200ms 短暫交疊、且都已偏淡，不會糊成一團。 */
.announcement__line{
  opacity:0;
  transform:translateY(10px);
  transition:opacity .3s cubic-bezier(.4,0,.2,1),transform .45s cubic-bezier(.4,0,.2,1);
  will-change:opacity,transform;
}
.announcement__line.is-active{
  opacity:1;
  transform:translateY(0);
  transition:opacity .34s cubic-bezier(.4,0,.2,1) .1s,transform .45s cubic-bezier(.4,0,.2,1) .1s;
}
.announcement__line.is-out{
  opacity:0;
  transform:translateY(-10px);
  transition:opacity .2s cubic-bezier(.4,0,.2,1),transform .3s cubic-bezier(.4,0,.2,1);
}

/* ═══════════ 主標題行距 ═══════════
   line-height:1.06 是給拉丁大字用的值；中文字面率高、幾乎頂滿 em 框，
   1.06 會讓兩行中文幾乎貼在一起（42px 字號只剩 2.5px 間隙）。
   中文大標題的舒適區間是 1.15–1.25，這裡取 1.17。 */
h1,.pl-hero h1,.pl-hero-title{line-height:1.17}
@media(max-width:360px){
  h1,.pl-hero h1,.pl-hero-title{line-height:1.2}
}

/* ═══════════ 訂製場景：附在「適用場合」下半段的細分清單 ═══════════
   上半是四張翻轉卡（大類、可點），下半改用細線分隔的密集索引 ——
   同一個區塊兩層顆粒度：先用四個大類定位，再用 16 條具體時刻對號入座。 */
.pl-use-scenes{margin-top:76px}
.pl-use-scenes-head{text-align:center;margin-bottom:38px}
.pl-use-scenes-head h3{
  font-family:var(--font-heading);font-size:clamp(19px,2.4vw,25px);
  font-weight:700;line-height:1.3;color:var(--color-text);margin:0 0 10px;
}
.pl-use-scenes-head p{font-size:14px;line-height:1.75;color:var(--color-text-secondary);max-width:560px;margin:0 auto}
html[data-theme="dark"] .pl-use-scenes-head h3{color:#F3EEE9}
html[data-theme="dark"] .pl-use-scenes-head p{color:#A99E93}
.pl-occ-grid{
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));
  border-top:1px solid var(--color-gold-border);
  padding-top:34px;
}
.pl-occ-col{padding:0 26px;border-left:1px solid var(--color-gold-border);min-width:0}
.pl-occ-col:first-child{border-left:0;padding-left:0}
.pl-occ-col:last-child{padding-right:0}
.pl-occ-col h3{
  font-family:var(--font-mono);font-size:11.5px;font-weight:500;
  letter-spacing:.12em;text-transform:uppercase;color:#f86923;
  margin:0 0 20px;
}
.pl-occ-col ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:17px}
.pl-occ-col li b{
  display:block;font-size:14.5px;font-weight:600;line-height:1.45;
  color:var(--color-text);margin-bottom:4px;letter-spacing:.01em;
}
.pl-occ-col li span{
  display:block;font-size:12.5px;line-height:1.62;
  color:var(--color-text-muted);
}
.pl-occ-note{
  margin:42px 0 0;text-align:center;font-size:13px;color:var(--color-text-muted);
}

html[data-theme="dark"] .pl-occ-grid{border-top-color:#3A312B}
html[data-theme="dark"] .pl-occ-col{border-left-color:#3A312B}
html[data-theme="dark"] .pl-occ-col li b{color:#F3EEE9}
html[data-theme="dark"] .pl-occ-col li span{color:#A99E93}

@media(max-width:1024px){
  .pl-occ-grid{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:38px}
  .pl-occ-col{padding:0 22px}
  .pl-occ-col:nth-child(3){border-left:0;padding-left:0}
}
@media(max-width:640px){
  .pl-occ-grid{grid-template-columns:1fr;row-gap:0;padding-top:26px}
  .pl-occ-col{border-left:0;padding:22px 0;border-top:1px solid var(--color-gold-border)}
  .pl-occ-col:first-child{border-top:0;padding-top:0}
  .pl-occ-col:last-child{padding-bottom:0}
  .pl-occ-col h3{margin-bottom:16px}
  .pl-occ-col ul{gap:15px}
  .pl-occ-note{margin-top:32px}
  .pl-use-scenes{margin-top:52px}
  .pl-use-scenes-head{margin-bottom:26px}
}

/* ═══════════ 適用場合：六張卡（3 × 2）＋ 背面細分場景 ═══════════ */
@media(min-width:900px){.pl-use-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(min-width:600px) and (max-width:899px){.pl-use-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:599px){.pl-use-grid{grid-template-columns:1fr}}

.pl-use-card{height:250px}

/* 背面：場景名 2×2（兩行兩列），整體居中、逐格左對齊，圓點才不會參差 */
.pl-use-sub{
  list-style:none;margin:4px 0 20px;padding:0;
  display:grid;grid-template-columns:repeat(2,max-content);
  gap:12px 26px;justify-content:center;align-items:start;
}
.pl-use-sub li{
  font-size:16px;line-height:1.35;color:rgb(255 255 255 / .95);
  display:flex;align-items:flex-start;gap:10px;letter-spacing:.01em;text-align:left;
}
.pl-use-sub li::before{
  content:"";width:5px;height:5px;border-radius:50%;
  background:rgb(255 255 255 / .6);flex:0 0 auto;margin-top:8px;
}
.pl-use-card-back h3{margin-bottom:14px}

@media(max-width:599px){
  .pl-use-card{height:246px}
  .pl-use-sub{gap:10px 18px;margin-bottom:14px}
  .pl-use-sub li{font-size:15px;gap:8px}
  .pl-use-sub li::before{width:4px;height:4px;margin-top:7px}
}

/* 正面底部的翻转提示：既提示可翻，也补掉卡片下半段的空白 */
.pl-use-card-front{display:flex;flex-direction:column}
.pl-use-hint{
  margin-top:auto;font-family:var(--font-mono);font-size:11px;letter-spacing:.1em;
  text-transform:uppercase;color:var(--color-text-muted);
}
html[data-theme="dark"] .pl-use-hint{color:#8A8078}

/* 英文場景名比中文長（"Welcome room gifts" 18 字元），手機維持 15px 會折行、2×2 變 4 行 */
@media(max-width:599px){
  html[lang="en"] .pl-use-sub li{font-size:13.5px}
}

/* ═══════════ 卡片翻轉：修觸控第二次點擊翻不回來 ═══════════
   成因：手機點完一次後，瀏覽器會把 :hover 與 :focus-within 殘留在該元素上
   （卡片有 tabindex=0，點擊即獲得焦點且不釋放）。這兩個選擇器本身就會把卡片轉到背面，
   於是第二次點擊雖然拿掉了 .flipped，畫面仍然是背面 —— 看起來就是「點不動了」。
   對策：觸控裝置一律不認 :hover；:focus-within 不再作為翻轉條件（鍵盤改用 JS 切 .flipped）。 */
.pl-use-card:focus-within .pl-use-card-inner{transform:none}
@media(hover:none),(pointer:coarse){
  .pl-use-card:hover .pl-use-card-inner{transform:none}
}
.pl-use-card.flipped .pl-use-card-inner{transform:rotateY(180deg)}

/* 眉標拆成三段（前句 / · / 地區碼）後，flex gap 疊加會比原本的空格寬，收一下 */
.pl-hero-badge__sep{margin:0 -1px;opacity:.55}
.pl-hero-badge__region{white-space:nowrap}

/* 英文眉標在窄屏差 2px 就會把 GIFTING 擠到第二行（實測總寬 352 > 容器 350），
   收一點字距即可，不必縮字號也不必改文案。 */
@media(max-width:480px){
  html[lang="en"] .pl-hero-badge{letter-spacing:.09em}
}

/* ═══════════ 導覽列：七欄 · 字級加大 · 加粗 · 間距拉開 ═══════════
   原本 gap 28px / 13px / 400 字重，五項。加到七項後若不收窄，
   761–1023 區間會擠到工具列。所以按寬度分三檔，桌面用完整字級，
   窄區間逐級回收 —— 這裡的值全部覆寫前面幾段歷史區間規則。 */
.site-header nav{gap:34px;font-size:15px;margin-left:36px;letter-spacing:.01em}
.site-header nav a{
  font-weight:600;
  padding:12px 6px;
  margin:-12px -6px;
  transition:color .2s ease,opacity .2s ease;
}

@media(min-width:1024px) and (max-width:1199px){
  .site-header nav{gap:26px;font-size:14px;margin-left:28px}
}
@media(min-width:761px) and (max-width:1023px){
  .site-header nav{gap:16px;font-size:13px;margin-left:20px}
  .site-header nav a{padding:12px 4px;margin:-12px -4px}
}

/* 761–899（iPad 直向）：七項中文 29 字，收乾到 11px 仍會撞上工具列，
   物理上放不下。此區間收起兩個新增項，保留五項；≥900 全數顯示。 */
@media(min-width:761px) and (max-width:899px){
  .site-header nav a[data-nav-extra]{display:none}
  .site-header nav{gap:22px;font-size:13px;margin-left:18px}
  .site-header nav a{padding:12px 4px;margin:-12px -4px}
}

/* ═══════════ 首屏關鍵詞標籤：桌面拉開間距 / 手機固定 2×2 ═══════════
   原本 gap 只有 6px，四個標籤擠成一串。桌面放寬到 24px；
   手機寬度不足以一行排四項，改為 grid 兩行兩列，對齊靠左。 */
.pl-trust-line{gap:10px 24px}
@media(max-width:760px){
  .pl-trust-line{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:12px 16px;
  }
  .pl-trust-line span{min-width:0}
}

/* ═══════════ 首屏兩個 CTA：主鈕白字、次鈕即時通訊 ═══════════ */

/* ① 主鈕文字改白。原本 --color-gold 底配 #151515 深字，橙上深字對比偏低，
      白字在 #f87d3f→#e85b1a 漸層上反而更清楚（已列入具名例外）。 */
.pl-hero-ctas .pl-btn-primary,
.pl-hero-ctas .pl-btn-primary:hover{color:#fff}

/* ② 次鈕容器：二維碼要絕對定位在按鈕下方 */
.pl-cta-im-wrap{position:relative;display:inline-flex}

.pl-cta-im{
  background:transparent;
  color:var(--primary);
  border:1.5px solid currentColor;
  gap:8px;
  text-transform:none;          /* 品牌名不該被漲成 WHATSAPP */
  letter-spacing:.02em;
}
.pl-cta-im__ico{display:none;width:16px;height:16px;fill:currentColor;flex:0 0 auto}

.pl-cta-im[data-im="whatsapp"]{background:#25D366;border-color:#25D366;color:#fff}
.pl-cta-im[data-im="line"]{background:#06C755;border-color:#06C755;color:#fff}
.pl-cta-im[data-im="wechat"]{background:#07C160;border-color:#07C160;color:#fff}
.pl-cta-im[data-im="whatsapp"]:hover{background:#1FBE5C;border-color:#1FBE5C}
.pl-cta-im[data-im="line"]:hover{background:#05B54C;border-color:#05B54C}
.pl-cta-im[data-im="wechat"]:hover{background:#06AD55;border-color:#06AD55}

.pl-cta-im[data-im="whatsapp"] .pl-cta-im__ico[data-ico="whatsapp"],
.pl-cta-im[data-im="line"] .pl-cta-im__ico[data-ico="line"],
.pl-cta-im[data-im="wechat"] .pl-cta-im__ico[data-ico="wechat"]{display:block}

html[data-theme="dark"] .pl-cta-im[data-im="form"]{border-color:#4A3B32;color:#E8E0D8}

/* ③ 微信二維碼浮層：桌面懸停、手機點擊。
      位置全部由 im.js 以行內樣式決定（右側優先 → 下方 → 上方），
      CSS 只負責外觀與淡入，避免「class 與行內樣式互相蓋」。 */
.pl-im-qr{
  position:absolute;left:0;top:calc(100% + 10px);z-index:25;
  width:max-content;max-width:calc(100vw - 48px);padding:12px;border-radius:16px;
  background:#fff;border:1px solid #eadfd5;
  box-shadow:0 14px 34px rgb(20 17 16 / .16);
  display:flex;flex-direction:column;align-items:center;gap:8px;
  opacity:0;visibility:hidden;transform:scale(.97);transform-origin:top left;
  transition:opacity .18s ease,transform .2s cubic-bezier(.4,0,.2,1),visibility .2s;
}
.pl-im-qr.is-open{opacity:1;visibility:visible;transform:scale(1)}
.pl-im-qr img{display:block;width:168px;height:168px;border-radius:8px;background:#fff}
.pl-im-qr__id{font-size:11.5px;color:#6b625a;letter-spacing:.02em;text-align:center;line-height:1.45}
html[data-theme="dark"] .pl-im-qr{background:#1E1916;border-color:#3A312B;box-shadow:0 14px 34px rgb(0 0 0 / .5)}
html[data-theme="dark"] .pl-im-qr__id{color:#A99E93}

@media(max-width:560px){
  .pl-im-qr{max-width:calc(100vw - 32px)}
}
@media(prefers-reduced-motion:reduce){.pl-im-qr{transition:none}}

/* ═══════════ 即時通訊按鈕：改用官方品牌圖標，加大到一眼可辨 ═══════════
   原本是自己畫的簡化圖形（16px），辨識度不夠。現在用 Simple Icons 收錄的
   官方 logo path（WhatsApp / LINE / 微信），尺寸提到 22px，按鈕一併放寬。 */
.pl-cta-im{padding:15px 30px;gap:10px;font-size:15px}
.pl-cta-im__ico{width:30px;height:30px}

@media(max-width:560px){
  .pl-cta-im{padding:13px 22px;gap:8px;font-size:14px}
  .pl-cta-im__ico{width:26px;height:26px}
}

/* 三個圖標必須同尺寸：只要有一個不同，按鈕高度就對不齊（實測差 6px）。
   LINE 的橫向 logo 在方框裡確實顯小，但為了等高只能一致，不再單獨放大。 */

/* ═══ 語言下拉：改回 absolute，緊貼按鈕 ═══
   原本用 position:fixed 靠 JS 算視口座標，但 .site-header 的 backdrop-filter
   建立新的 containing block，fixed 不再相對視口，算出的 top 比實際少約 40px，
   結果下拉離按鈕 48px。改用 absolute 相對 .lang-dd，間距由 CSS 決定（6px）。 */
.lang-dd{position:relative}
.lang-dd__menu{
  position:absolute;top:calc(100% + 6px);right:0;left:auto;
  max-width:calc(100vw - 24px);
}
.lang-dd__menu.is-up{top:auto;bottom:calc(100% + 6px)}
@media(max-width:760px){
  .lang-dd__menu{right:0;left:auto}
}

/* ═══ 卡片背面 2×2：拉丁語系場景名太長，max-content 會把列撐出卡片 ═══
   印尼語「Kotak pertengahan musim gugur」30 字元、越南語「Quà phù dâu phù rể」，
   用 max-content 時列寬按最長項計算，320px 下整塊溢出視口（實測 -52→372）。
   這三種語言改成等分兩列 + 允許換行，字級降到 13px 控制行數。 */
html[lang="id"] .pl-use-sub,
html[lang="vi"] .pl-use-sub,
html[lang="en"] .pl-use-sub{
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px 14px;
}
html[lang="id"] .pl-use-sub li,
html[lang="vi"] .pl-use-sub li,
html[lang="en"] .pl-use-sub li{
  font-size:13px;line-height:1.35;gap:8px;align-items:flex-start;
}
html[lang="id"] .pl-use-sub li::before,
html[lang="vi"] .pl-use-sub li::before,
html[lang="en"] .pl-use-sub li::before{margin-top:5px}

@media(max-width:599px){
  html[lang="id"] .pl-use-sub li,
  html[lang="vi"] .pl-use-sub li,
  html[lang="en"] .pl-use-sub li{font-size:12.5px}
}

/* ═══ 1024–1199：拉丁語系導覽比中文長得多，七項放不下 ═══
   越南語 nav 實測 676px（中文 570），把右側工具列擠到 1036 > 視口 1009，
   整個頁面橫向可捲動。這一檔對 en/id/vi 單獨收緊字級與間距。 */
@media(min-width:1024px) and (max-width:1199px){
  html[lang="vi"] .site-header nav,
  html[lang="id"] .site-header nav,
  html[lang="en"] .site-header nav{gap:16px;font-size:13px}
  html[lang="vi"] .site-header nav a,
  html[lang="id"] .site-header nav a,
  html[lang="en"] .site-header nav a{padding:12px 4px;margin:-12px -4px}
}

/* ═══════════ 服務條：四組數字（17 年 / 100+ 香型 / 50 瓶起 / 30 天）═══════════
   底色是 #c2490d → #151515 的斜向漸層。實測此底色亮度僅 0.16，
   任何帶色相的淺色（金 #f86923、淺橙 #ffc9a8）對比都掉到 2.2–3.7，達不到 4.5。
   因此數字／單位／標籤一律用白（4.94:1），層級改由「字級 + 字重 + 字距」建立，
   不再靠顏色深淺 —— 這在深橙底上反而更乾淨。 */
.pl-counters{padding:46px 0}
.pl-counters-grid{gap:28px 18px;max-width:1040px}

/* 退出舊的 mono/uppercase 群組規則，避免數字被字距撐開成「1 7」 */
.pl-counter-item{
  font-family:var(--font-body);
  text-transform:none;
  letter-spacing:normal;
  padding:4px 8px;
}

.pl-counter-value{
  display:flex;align-items:baseline;justify-content:center;gap:5px;line-height:1;
}
.pl-counter-num{
  font-family:var(--font-heading);
  font-size:clamp(38px,4.4vw,56px);
  font-weight:700;line-height:1;
  color:#fff;
  letter-spacing:-.02em;
  font-variant-numeric:tabular-nums;
  display:inline-block;
  text-align:center;   /* 遞增時位數在鎖定寬度內居中，不會左右跳 */
}
.pl-counter-unit{
  font-family:var(--font-body);
  font-size:clamp(13px,1.4vw,15px);
  font-weight:500;
  color:#fff;
  letter-spacing:.04em;
  line-height:1.2;
  white-space:nowrap;
}
.pl-counter-label{
  margin-top:12px;
  font-family:var(--font-mono);
  font-size:12.5px;
  font-weight:500;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:#fff;
  line-height:1.5;
}

@media(max-width:760px){
  .pl-counters{padding:34px 0}
  .pl-counters-grid{gap:24px 10px}
  .pl-counter-num{font-size:clamp(32px,8.4vw,42px)}
  .pl-counter-unit{font-size:12.5px}
  .pl-counter-label{font-size:10.5px;letter-spacing:.06em;margin-top:9px}
}

/* 極窄屏（≤420）越南語標籤會折兩行，且常留下「HOA」「HÀNG」孤字。
   拉丁文只在空格斷行，balance 會把兩行長度拉平，不會拆詞；
   中文標籤在此寬度仍是單行，永不觸發，因此只對拉丁三語套用。 */
@media(max-width:420px){
  html[lang="en"] .pl-counter-label,
  html[lang="id"] .pl-counter-label,
  html[lang="vi"] .pl-counter-label{text-wrap:balance}
}

/* 深色模式：兩處必要修正
   ① 舊規則給 .pl-counter-item 加了 #1D1815 卡片底 → 淺色是純文字、深色變四個方塊，不一致。
   ② 深色下 .pl-counters 與相鄰的 .pl-section 同為 #141110，整條會完全消失（分不出板塊邊界）。
      改成低飽和深橙漸層：保留品牌色塊的識別，又不會在暗底上刺眼；白字對比 7:1。 */
html[data-theme="dark"] .pl-counters{background:linear-gradient(135deg,#9a3b0a,#1a1512)}
html[data-theme="dark"] .pl-counter-item{background:transparent;border-color:transparent}

/* ═══ 越南語等拉丁語系的孤字行 ═══
   越南語詞長（"Bản giới hạn đánh số"、"Quà tặng doanh nghiệp Việt Nam"），
   窄屏常常末行只剩 "Nam"、"số" 兩三個字母。text-wrap:pretty 專為此事設計：
   只微調倒數幾行的斷點，不改字級、不改行數上限。
   僅套用在拉丁三語，且用 :where() 把特異性歸零，避免蓋掉既有的 nowrap 規則。 */
html[lang="vi"] :where(p,li,dd,figcaption,blockquote,span),
html[lang="en"] :where(p,li,dd,figcaption,blockquote),
html[lang="id"] :where(p,li,dd,figcaption,blockquote){
  text-wrap:pretty;
}

/* 首屏兩個 CTA：間距由 12px 放大到 24px（列向 14px 供窄屏換行時用） */
.pl-hero-ctas{gap:14px 24px}
@media(max-width:420px){
  .pl-hero-ctas{gap:12px 20px}
}

/* ═══════════ 全站 CTA 按鈕：文字一律白色 ═══════════
   原本三種顏色並存：主鈕深字 #151515、金色鈕深字、描邊鈕橙字。
   統一白字後有兩個地方必須連帶處理，否則白字會看不見：

   ① 主鈕 hover 原本變淺橙 --color-gold-light(#ffa878)，白字在上面只有 1.7:1。
      改成加深到 #c2490d（白字 4.94:1），視覺上從「變亮」改為「壓深」，
      更符合按下的手感。
   ② 描邊鈕是透明底 + 橙字，白字會完全消失。改為深色實心（#151515），
      與橙色主鈕形成「橙＝主要、深＝次要」的層級，白字在深底上 17:1。

   金色鈕的漸層亮端 #ffa878 同樣吃掉白字，收斂到 #d9530f，保留橙金質感但不發白。 */
.pl-btn-primary,
.pl-btn-gold,
.pl-use-card-back .pl-btn-primary,
.floating-cta{color:#fff}

.pl-btn-primary:hover{background:#c2490d;color:#fff}

.pl-btn-gold{background:linear-gradient(135deg,var(--color-gold),#d9530f)}
.pl-btn-gold:hover{background:linear-gradient(135deg,#e85b1a,#c2490d);color:#fff}

.pl-btn-outline{background:#151515;border-color:#151515;color:#fff}
.pl-btn-outline:hover{background:#2e2e2e;border-color:#2e2e2e;color:#fff}
html[data-theme="dark"] .pl-btn-outline{background:#2a2320;border-color:#2a2320;color:#fff}
html[data-theme="dark"] .pl-btn-outline:hover{background:#3a322d;border-color:#3a322d;color:#fff}

/* ═══════════ 卡片背面（橙底）的按鈕：改為反白 ═══════════
   卡片背面是深燒橙漸層 (#c2490d → #9a3a08)，原本按鈕是亮橙 #f86923 + 白字，
   等於「橙疊橙」：按鈕邊界模糊，白字也撐不住，看起來很髒。
   試過三種：① 近黑底白字（守白字規則，但黑壓橙顯得笨重）
             ② 卡片同色系加深 (#6f2a06) + 白字（守住白字，但像凹下去的色塊，失去可點感）
             ③ 白底 + 深橙字（反白）→ 採用：對比 6.5:1，邊界清楚，是彩色卡片上的標準做法。
   這是全站唯一一顆非白字按鈕，因為它坐在品牌橙的色塊上。 */
.pl-use-card-back .pl-btn-primary{
  background:#fff;
  color:#8f3306;
  box-shadow:0 6px 18px rgb(0 0 0 / .22);
}
.pl-use-card-back .pl-btn-primary:hover{
  background:#fff6f0;
  color:#7a2b05;
  box-shadow:0 8px 22px rgb(0 0 0 / .28);
}

/* ═══════════ 合作流程：1–5 步放大 + 卡片加高 ═══════════
   原本分頁只有 68px 高、字級 11px、序號圈 28px，和下方 331px 的卡片相比偏小。
   放大後：分頁 ~104px、字級 14px、序號圈 38px；卡片 padding 由 36/32 加到 48/44，
   並給 min-height 讓五步切換時高度一致（原本靠 wrap 的 280px 撐，現在由卡片自己撐）。 */
.pl-hiw-tabs{max-width:820px;padding:8px;gap:8px;margin-bottom:22px;border-radius:16px}
.pl-hiw-tab{padding:18px 12px;font-size:14px;gap:8px;border-radius:14px}
.pl-hiw-tab-num{width:38px;height:38px;font-size:18px}
.pl-hiw-progress{max-width:820px}
.pl-hiw-card-wrap{max-width:820px;min-height:0}
.pl-hiw-card{padding:48px 44px 44px;min-height:380px}
.pl-hiw-card h3{font-size:clamp(22px,3vw,28px)}
.pl-hiw-card-desc{min-height:44px}

@media(max-width:760px){
  .pl-hiw-tabs{padding:6px;gap:5px;margin-bottom:18px}
  .pl-hiw-tab{padding:13px 7px;font-size:12px;gap:5px}
  .pl-hiw-tab-num{width:32px;height:32px;font-size:15px}
  .pl-hiw-card{padding:34px 22px 30px;min-height:0}
  .pl-hiw-card-desc{min-height:0}
}

/* ═══════════ 方案報價 → 為何選擇我們：收掉疊加出來的空白 ═══════════
   兩區同底色 (#141110)，視覺上是一整片，但三層 padding 疊在一起：
   報價卡片自己的 padding-bottom 48 ＋ 區塊 80（手機 60）＋ 下一區 90（手機 60），
   實測「以實際方案與正式報價為準」到「YOUR GIFTING PARTNER」有 219px（手機 155px），
   明顯鬆於全站其他區塊的節奏。
   兩邊各收 40，桌面 → 128px、手機 → 115px。只動這兩個相接的邊，其餘區塊間距不變。 */
section.pl-why{padding-top:40px;padding-bottom:64px}
#pl-pricing{padding-bottom:40px}
/* 送禮夥伴 → 常見問題：原本 100 + 80 = 180px，是「不可討論的禮品配置」底下那片空白的來源，
   比前後相鄰區塊都鬆。兩邊各收 64 → 128px，跟「方案報價 → 送禮夥伴」的 129px 同一檔。
   （手機端 .pl-section 的 60!important 仍生效，維持 120px，不在這次調整範圍。） */
#pl-faq{padding-top:64px}
/* 手機端 .pl-section 是 padding:60px 0!important（全站統一 60），
   上面兩行會被 !important 壓掉，這裡必須同權重才收得動。 */
@media(max-width:760px){
  section.pl-why{padding-top:40px!important}
  #pl-pricing{padding-bottom:40px!important}
}

/* ═══════════ 極窄屏：眉標保住單行 ═══════════
   眉標統一為「英文 · 中文」，320px 時「YOUR GIFTING PARTNER · Mitra hadiah」
   「· Đối tác quà tặng」會折成兩行，膠囊被撐高（28.7 → 47.4px），跟其他眉標不一致。
   這裡只收字級與字距，讓全部眉標在 320 仍是單行。 */
@media(max-width:360px){
  .pl-badge{font-size:10px;letter-spacing:.5px;padding-left:12px;padding-right:12px}
}

/* ═══════════ 送禮夥伴：場景切換 4 → 6 個（與「適用場合」六張卡片一致） ═══════════
   六個標籤在 588px 左欄用 flex 會排成 5+1，尾巴一個孤零零；改 3×2 網格整齊對齊。
   手機兩列；極窄屏（≤360）一列 —— 英文「Weddings & banquets」在 132px 寬的格子裡放不下。 */
#pl-why-kiano .pl-why-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
@media(max-width:760px){#pl-why-kiano .pl-why-tabs{grid-template-columns:repeat(2,1fr)}}
/* 320px 兩列時每格僅 132px，英文「Weddings & banquets」在 13px 下放不進（需 165px）；
   降到 11px + 收窄左右內距 → 約 122px，維持兩列三排，不必退成六行直排。 */
@media(max-width:360px){
  #pl-why-kiano .pl-why-tabs{grid-template-columns:repeat(2,1fr)}
  /* 垂直內距不能再收：7px 會讓標籤只有 35px 高，低於 40px 最小點擊區（audit 會擋） */
  #pl-why-kiano .pl-why-tab{font-size:11px;padding:10px 8px;letter-spacing:0}
}

/* ═══════════ 送禮夥伴：左右兩欄等高 ═══════════
   左欄（正文＋場景切換＋兩顆按鈕＋微文案）比右欄（服務保障卡）高出一大截，
   右欄下方就空一片。做法不是硬調 padding 湊數字（換語言、文案長短一變就又不齊），
   而是讓右欄撐滿整列、三排卡片自動均分：
     · align-items:start → stretch，右欄容器取得與左欄相同的高度
     · grid-auto-rows:1fr，六張卡均分這個高度 → 卡片自然「放大」
     · 卡片內容改垂直居中，放大後不會全部擠在頂部
   這樣任何語言、任何視窗寬度都自動對齊，不需再手動追數字。 */
#pl-why-kiano .pl-why-main{align-items:stretch}
#pl-why-kiano .pl-features{grid-auto-rows:1fr}
#pl-why-kiano .pl-fcard{align-items:center}
/* flex 子項預設 min-width:auto，中文長句不會收縮，在窄卡片裡會頂出邊界
   （實測 1024 溢出 48px、320 右側只剩 2px）。給文字容器 min-width:0 才會正常換行。 */
#pl-why-kiano .pl-fcard>div:last-child{min-width:0}
/* 微文案貼著按鈕太近（8px），按鈕是實心色塊，需要更多呼吸才不會被吃掉 */
#pl-why-kiano .pl-microcopy{margin-top:18px}

/* ═══════════ 下拉選單：改成自繪箭頭 ═══════════
   原本用瀏覽器原生箭頭，位置由 UA 決定、對不上內距 ——
   Chrome 把它畫在右緣偏外，看起來貼邊；Safari 的位置又不一樣。
   改自繪：關掉 appearance，用背景圖畫 chevron，右距 16px 與左內距對稱，
   padding-right 留 42px（16 右距 + 12 圖寬 + 14 與文字的安全距離）。 */
.pl-form-group select{
  -webkit-appearance:none;appearance:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%238a8175' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
  background-repeat:no-repeat;
  background-position:right 16px center;
  background-size:14px 14px;
  padding-right:44px;
}
html[data-theme="dark"] .pl-form-group select{
  /* 深色模式另有一條 `background:#241E1A` 的簡寫會把 background-repeat 重置成 repeat，
     只改 image 會讓箭頭平鋪整行 —— 這裡把四個長寫屬性一起補齊，不依賴繼承。 */
  background-color:#241E1A;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23b8ada4' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
  background-repeat:no-repeat;
  background-position:right 16px center;
  background-size:14px 14px;
}

/* 送出成功後，表單已收起，標題「開始你的香水禮品計劃」與三步指示條就該一起退場，
   否則畫面像「還停在第三步」。只留 logo 與成功訊息。 */
.pl-form-wrapper.is-sent > h2,
.pl-form-wrapper.is-sent > .pl-form-sub,
.pl-form-wrapper.is-sent .pl-form-steps{display:none}

/* ═══════════ 導覽列：真正居中 ═══════════
   原本是 flex + space-between，再靠各斷點的 nav{margin-left:20~28px} 硬推，
   欄目只有四五個時看起來像居中，加到七個後就明顯偏左（logo 132、工具列約 170，
   兩側寬度不等，space-between 會把中間那塊推向左邊）。
   改成三列網格：左右各 1fr、中間 auto，導覽自然落在容器正中，
   不用再靠 margin 補償 —— 所以下面把各斷點殘留的 margin-left 一併歸零。 */
@media(min-width:761px){
  .site-header{display:grid;grid-template-columns:1fr auto 1fr;justify-content:normal}
  .site-header .logo{justify-self:start}
  .site-header nav{justify-self:center;margin-left:0}
  .site-header .hdr-tools{justify-self:end}
}

/* ═══════════ 導覽連結：hover 轉品牌橙 + 下劃線 ═══════════
   下劃線用 ::before —— ::after 已被「擴大點擊熱區」那個透明偽元素佔用，
   搶過來會讓平板上的點擊範圍消失。
   顏色分模式：logo 原色 #f86923 壓在淺底只有 2.8:1（13px 字看不清），
   淺色改用同色系加深的 --primary(#c2490d, 4.63:1)；深底反過來，用 #f86923(6.3:1)。 */
.site-header nav a::before{
  content:"";position:absolute;left:5px;right:5px;bottom:8px;height:2px;
  background:currentColor;border-radius:2px;
  transform:scaleX(0);transform-origin:center;
  transition:transform .24s cubic-bezier(.4,0,.2,1);
  pointer-events:none;
}
@media(hover:hover){
  .site-header nav a{transition:color .2s ease}
  .site-header nav a:hover{color:var(--primary)}
  .site-header nav a:hover::before{transform:scaleX(1)}
  html[data-theme="dark"] .site-header nav a:hover{color:var(--color-gold)}
  html[data-theme="dark"] .site-header nav a::before{background:var(--color-gold)}
}
/* 減少動態效果：不再展開，直接淡入 */
@media(prefers-reduced-motion:reduce){
  .site-header nav a::before{transition:none;transform:scaleX(1);opacity:0}
  .site-header nav a:hover::before{opacity:1}
}

/* ═══════════ 訂製細節：第六張卡反色處理 ═══════════
   前五張是白卡（深色模式下是深灰卡），第六張是引導 —— 不引入新色相，直接把明度翻轉：
   淺色模式深底淺字（#151515），深色模式乳白底深字（#F3EEE9）。
   圖示的 color 也要跟著設：emoji 自帶顏色不受 color 影響，但對比檢查讀的是文字色，
   不設的話「白字壓黑底」會被算成深字壓深底而誤報。
   hover 沿用通用規則（邊框轉品牌橙），反色卡上看得見，不必另外寫。 */
.pl-custom-card--accent,
html[data-theme="dark"] .pl-custom-card--accent{
  /* 80% 黑（#333）而不是純黑：壓在滿是白卡的區塊裡，純黑太重、像外來的塊；
     降到 80% 仍保有反色的力道（白字對比 12.6:1），但不那麼硬。 */
  background:#333333;
  border-color:#333333;
  box-shadow:0 10px 28px rgb(51 51 51 / .16);
}
.pl-custom-card--accent h3{color:#fff}
.pl-custom-card--accent p{color:rgb(255 255 255 / .82)}
.pl-custom-card--accent .pl-custom-icon{color:#fff}

html[data-theme="dark"] .pl-custom-card--accent{
  background:#F3EEE9;
  border-color:#F3EEE9;
  box-shadow:0 10px 28px rgb(0 0 0 / .32);
}
html[data-theme="dark"] .pl-custom-card--accent h3{color:#151515}
html[data-theme="dark"] .pl-custom-card--accent p{color:rgb(21 21 21 / .72)}
/* 乳白底上原本的金色 ✨ 幾乎隱形（亮黃壓淺米色）；emoji 不受 color 影響，
   只能用濾鏡把它壓成深灰，才和深色文字協調。黑卡上則保留原本的金光。 */
html[data-theme="dark"] .pl-custom-card--accent .pl-custom-icon{color:#151515;filter:grayscale(1) brightness(.42)}

/* ═══════════ 頁尾：欄目標題改品牌橙 + 新增 QR 欄 ═══════════
   標題原本用 --color-gold-light #ffa878（淡桃色），與站上主色 #f86923 不是同一支；
   深色模式下還被 `html[data-theme="dark"] footer h3{color:#F3EEE9}` 換成奶白，等於兩套顏色。
   頁尾底色固定是深色（淺色模式 #151515、深色模式 #0D0A09），因此兩個模式都用 logo 原色：
   #f86923 在 #151515 上 6.3:1、在 #0D0A09 上 6.9:1，皆達 AA。 */
footer h3,
html[data-theme="dark"] footer h3{color:#f86923}

/* 五欄：品牌 / 快速連結 / 探索訂製 / 開始你的計劃 / QR。
   五欄都用 auto —— 欄寬等於內容寬，於是「欄與欄之間的視覺間距」才真的相等。
   多出來的寬度交給 justify-content:space-between 分進四道縫，而不是丟給品牌欄吸收：
   先前用 1fr 時品牌欄吃掉全部餘量，右邊擠成一團、中間空出 453px，比原本更失衡。 */
.footer-grid{
  grid-template-columns:auto auto auto auto auto;
  justify-content:space-between;gap:40px;align-items:start;
}
.footer-qr-row{display:flex;gap:14px}
.footer-qr-item{margin:0;text-align:center}
.footer-qr-item img{
  display:block;width:96px;height:96px;background:#fff;border-radius:8px;
  /* 真實 QR 圖本身已含靜區（四周白邊），這裡不再加 padding，否則白邊過寬會讓圖看起來偏小。
     白底卡片在深色頁尾上是刻意的：QR 需要高對比才掃得出來 */
}
.footer-qr-item figcaption{
  margin-top:8px;font-size:11px;line-height:1.4;letter-spacing:.04em;color:#9a9186;
}
/* 手機的浮動 CTA 收在右下，QR 在頁尾不會與它重疊，不需額外留白 */
@media(max-width:1024px){
  .footer-qr-item img{width:84px;height:84px}
}
@media(max-width:920px){
  /* 一條五欄撐不住（品牌文字會被擠成三行），改成兩段：品牌獨佔一行，其餘四欄均分 */
  .footer-grid{grid-template-columns:auto auto auto auto;gap:28px}
  .footer-grid>div:first-child{grid-column:1/-1}
}
@media(max-width:760px){
  /* 兩欄：品牌、開始你的計劃、QR 各佔整行；快速連結與探索訂製並排。
     開始你的計劃只有一條連結，只佔半行右邊會空一格，所以讓它也佔滿。 */
  .footer-grid{grid-template-columns:1fr 1fr;gap:30px;justify-content:normal}
  .footer-grid>div:first-child{grid-column:1/-1}
  .footer-grid>div:nth-child(4){grid-column:1/-1}
  .footer-grid>.footer-qr{grid-column:1/-1}
  /* 手機上 QR 獨佔一整行，留白太多會顯得孤零零，放大到 128px 撐住版面寬度 */
  .footer-qr-item img{width:128px;height:128px}
}

/* 320 級窄屏：128 × 2 + 14 間距 = 270px，內寬只剩 272px（餘 2px），
   遇到系統字級放大或捲軸就會擠破。降到 118，留足 34px 餘量。 */
@media(max-width:360px){
  .footer-qr-item img{width:118px;height:118px}
  .footer-qr-row{gap:12px}
}

/* ═══════════════════════════════════════════════════════════════════
   2026-11-03 介面優化（圍繞主任務：看方案 → 查詢訂製）
   ① 手機選單：≤760 原本把 nav 整個 display:none，七個區塊在手機上無法直達，
      全頁 10,593px 只能一路滑。改為同一份 nav 變下拉面板，不複製連結、不影響桌面。
   ② 首屏主鈕：原本寫「最低 50 瓶起訂」是規格不是動作；改為與浮動鈕一致的
      「查詢訂製方案」，把起訂量交還給公告條與服務條（同一頁已出現兩次）。
   ③ 表單欄位：邊框 #EADFD5 對白底僅 1.31:1，欄位形同消失（WCAG 1.4.11 需 3:1）。
   ④ 流程卡：進度列與卡內重複顯示「第 X 步 / 共 5 步」，移除卡內那份。
   ═══════════════════════════════════════════════════════════════════ */

/* ── ① 手機選單 ───────────────────────────────────────────── */
.nav-toggle{
  display:none;width:40px;height:40px;flex:0 0 auto;
  align-items:center;justify-content:center;padding:0;
  border:1px solid var(--color-gold-border);border-radius:50%;
  background:#fff;color:#3a3630;
  transition:border-color .18s ease,color .18s ease;
}
.nav-toggle:hover{border-color:#e0b9a2;color:var(--primary)}
.nav-toggle__bars{position:relative;display:block;width:16px;height:12px}
.nav-toggle__bars span{
  position:absolute;left:0;right:0;height:1.6px;border-radius:2px;
  background:currentColor;transition:transform .22s ease,opacity .16s ease,top .22s ease;
}
.nav-toggle__bars span:nth-child(1){top:0}
.nav-toggle__bars span:nth-child(2){top:5.2px}
.nav-toggle__bars span:nth-child(3){top:10.4px}
.nav-toggle[aria-expanded="true"] .nav-toggle__bars span:nth-child(1){top:5.2px;transform:rotate(45deg)}
.nav-toggle[aria-expanded="true"] .nav-toggle__bars span:nth-child(2){opacity:0}
.nav-toggle[aria-expanded="true"] .nav-toggle__bars span:nth-child(3){top:5.2px;transform:rotate(-45deg)}

/* 面板內的主任務入口：桌面不顯示（桌面已有 hero 與浮動鈕）。
   特異性要壓過上面 `.site-header nav a{display:inline-flex}` 的 (0,1,2)。 */
.site-header nav .nav-cta{display:none}

@media(max-width:760px){
  .nav-toggle{display:inline-flex}
  .site-header nav{
    display:none;
    position:absolute;top:100%;left:0;right:0;
    flex-direction:column;align-items:stretch;gap:0;
    margin:0;padding:4px 20px 18px;
    background:#fbf7f3;
    border-top:1px solid rgb(234 223 213 / .8);
    border-bottom:1px solid var(--color-gold-border);
    box-shadow:0 22px 44px rgb(21 21 21 / .12);
  }
  .site-header nav[data-open="true"]{display:flex}
  .site-header nav a{
    display:flex;align-items:center;justify-content:flex-start;
    min-width:0;padding:14px 2px;margin:0;
    font-size:15px;font-weight:600;letter-spacing:.01em;
    border-bottom:1px solid rgb(234 223 213 / .75);
  }
  .site-header nav a:last-of-type{border-bottom:0}
  /* 直向列表不需要「擴大熱區」的透明偽元素，否則會蓋到上下相鄰的項目 */
  .site-header nav a::after{display:none}
  .site-header nav a::before{left:2px;right:auto;width:22px;bottom:9px}
  .site-header nav a.nav-cta{
    display:flex;justify-content:center;gap:8px;
    margin:14px 0 2px;padding:14px 20px;
    border:0;border-radius:30px;color:#fff;
    background:linear-gradient(135deg,#f86923 0%,#e05814 100%);
    font-size:14px;font-weight:600;letter-spacing:.02em;
  }
  .site-header nav a.nav-cta:hover{color:#fff;background:linear-gradient(135deg,#f87d3f 0%,#d95112 100%)}
  .site-header nav a.nav-cta::before{display:none}
}
html[data-theme="dark"] .nav-toggle{background:#1d1815;border-color:#3a3029;color:#C9BFB4}
html[data-theme="dark"] .nav-toggle:hover{border-color:#f86923;color:#f86923}
@media(max-width:760px){
  html[data-theme="dark"] .site-header nav{
    background:#141110;border-top-color:#2a2320;border-bottom-color:#332b26;
  }
}

/* ── ② 首屏主鈕：讓動作大於規格 ───────────────────────────── */
/* 主鈕標籤變長後，390 會自然換行成「主鈕在上、通訊鈕在下」。
   不再讓綠鈕比主鈕寬，是這次最小的層級修正；顏色與品牌綠都保留。 */
.pl-hero-ctas{align-items:center}
@media(max-width:560px){
  .pl-hero-ctas .pl-btn-primary{flex:1 1 auto}
  .pl-cta-im-wrap{flex:0 0 auto}
}
/* 英文等 'form' 市場：主鈕已經是「Request a proposal」，次鈕同指表單只會重複 */
.pl-cta-im[data-im="form"]{display:none}

/* ── ③ 表單欄位：把欄位邊界畫回來 ─────────────────────────── */
.pl-form-group input,
.pl-form-group select,
.pl-form-group textarea{
  border-color:#9c8f80;              /* 對白卡 3.16:1，達 WCAG 1.4.11 非文字對比 */
  background:#fffdfb;                /* 與純白卡片分層，但不搶標籤 */
}
.pl-form-group input:hover,
.pl-form-group select:hover,
.pl-form-group textarea:hover{border-color:#8a7d6f}
.pl-form-group input:focus,
.pl-form-group select:focus,
.pl-form-group textarea:focus{border-color:var(--color-gold)}
html[data-theme="dark"] .pl-form-group input,
html[data-theme="dark"] .pl-form-group select,
html[data-theme="dark"] .pl-form-group textarea{border-color:#6d5f52;background:#241e1a}
html[data-theme="dark"] .pl-form-group input:hover,
html[data-theme="dark"] .pl-form-group select:hover,
html[data-theme="dark"] .pl-form-group textarea:hover{border-color:#8a7a6b}

/* ── ④ 場景卡：翻面提示從 11px 灰字改成可點的動作 ─────────── */
.pl-use-hint{
  display:inline-flex;align-items:center;gap:6px;
  font-size:12px;font-weight:600;letter-spacing:.03em;text-transform:none;
  color:var(--primary);
  transition:color .18s ease;
}
.pl-use-card:hover .pl-use-hint,
.pl-use-card:focus-visible .pl-use-hint,
.pl-use-card.flipped .pl-use-hint{color:#9a3a08}
html[data-theme="dark"] .pl-use-hint{color:#f86923}
html[data-theme="dark"] .pl-use-card:hover .pl-use-hint{color:#ffa878}

/* ── ⑤ 960–1100：hero 兩欄時標題被擠成「為你的 / 品牌，打造 / …」三行 ── */
@media(min-width:961px) and (max-width:1100px){
  .pl-hero h1,
  .pl-hero-title{font-size:clamp(2.5rem,5.2vw,3.25rem)}
}

/* 手機選單開啟時，避免背後的內容跟著滾動（僅在選單張開時生效） */
@media(max-width:760px){
  body.nav-open{overflow:hidden}
}

/* 選單張開時壓暗背後的頁面：面板只佔 468px，下面還看得到 hero 的同一顆 CTA，
   容易誤認成兩個按鈕。壓暗後層級才清楚，點背景也能收起。
   header 同層提高，讓面板仍在遮罩之上；浮動 CTA(40) 留在遮罩之下。 */
@media(max-width:760px){
  body.nav-open .site-header{z-index:50}
  body.nav-open::after{
    content:"";position:fixed;inset:0;z-index:45;
    background:rgb(21 21 21 / .34);
  }
}

/* 320–380：多了選單鈕後，語言下拉以按鈕右緣對齊會凸出左邊（實測 -38px）。
   改對齊 header 的右內距（40 按鈕 + 8 gap），並用 max-width 夾住。 */
@media(max-width:380px){
  .lang-dd__menu{
    right:-48px;
    max-width:calc(100vw - 32px);
  }
}
.pl-hero-img-wrap picture{display:block}

/* ═══════════ FAQ 兩欄（8 條）═══════════════════════════════════
   8 條單欄要 640px 高，佔掉一整個視窗；改 4+4 兩欄後約 300px。
   用「兩個獨立欄容器」而不是 grid 自動排版或 CSS columns：
     · 自動排版會讓左右同一列的展開高度互相牽動，一邊展開、另一邊出現大洞；
     · CSS columns 會把展開中的答案拆到下一欄。
   兩個容器各自堆疊，展開只影響自己那一欄；<960 直接疊回單欄，順序仍是 1→8。 */
.pl-faq-list{
  max-width:1080px;
  display:grid;
  grid-template-columns:1fr 1fr;
  column-gap:clamp(40px,5vw,72px);
  align-items:start;
}
.pl-faq-col{min-width:0}
/* 兩欄各自要有頂線，否則第一條看起來像浮在空中 */
.pl-faq-col .pl-faq-item:first-child{border-top:1px solid var(--color-gold-border)}

@media(max-width:959px){
  .pl-faq-list{max-width:720px;grid-template-columns:1fr;column-gap:0}
  /* 疊起來時第二欄緊接第一欄，避免兩條底線疊成 2px */
  .pl-faq-col + .pl-faq-col .pl-faq-item:first-child{border-top:0}
}

/* 深色模式：FAQ 條目本身有底片（#1D1815），4 條相連會變成一整塊。
   分成兩欄後，外側被清單的 radius 裁圓、內側是直角，看起來像做壞了。
    ≥960 改成「每一欄各自一張卡」：底色移到欄容器，條目透明，
   首尾的邊線交給卡片自己的圓角，內部只留分隔線。 */
@media(min-width:960px){
  html[data-theme="dark"] .pl-faq-col{
    background:#1D1815;
    border-radius:12px;
    overflow:hidden;
  }
  html[data-theme="dark"] .pl-faq-col .pl-faq-item{background:transparent}
  html[data-theme="dark"] .pl-faq-col .pl-faq-item:first-child{border-top:0}
  html[data-theme="dark"] .pl-faq-col .pl-faq-item:last-child{border-bottom:0}
}
