:root{--ink:#17211c;--ink-heading:#1c2b4a;--muted:#65716a;--paper:#f6f5ef;--white:#fff;--line:#dde1da;--green:#226b45;--lime:#c9f36a;--orange:#ff795b;--blue:#4a5fd1}
[hidden]{display:none!important}
*{box-sizing:border-box}
html{scroll-behavior:smooth;overflow-x:hidden}
body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.55 'DM Sans',sans-serif;overflow-x:hidden}
a{color:inherit;text-decoration:none}
button,input,textarea,select{font:inherit}
header{height:76px;border-bottom:1px solid var(--line);background:rgba(246,245,239,.94);position:sticky;top:0;z-index:5;backdrop-filter:blur(10px)}
.header-inner{max-width:1200px;margin:0 auto;height:100%;padding:0 max(24px,5vw);display:grid;grid-template-columns:1fr auto 1fr;align-items:center}
.brand{grid-column:1;font-family:Manrope,sans-serif;font-weight:800;display:flex;gap:10px;align-items:center}
.nav-center{grid-column:2}
.nav-right{grid-column:3;justify-self:end}
.brand span{background:var(--ink);color:var(--lime);border-radius:8px;padding:5px 7px;font-size:13px}
nav{display:flex;gap:24px;align-items:center;font-size:14px;font-weight:600}
nav form{display:inline}
.link{background:none;border:0;cursor:pointer;color:inherit}
.nav-cta{background:var(--ink);color:#fff;padding:10px 16px;border-radius:99px}
.user-menu{position:relative}.user-menu summary{list-style:none;display:flex;align-items:center;gap:9px;cursor:pointer;padding:5px 8px;border-radius:12px}.user-menu summary::-webkit-details-marker{display:none}.user-menu summary:hover,.user-menu[open] summary{background:#ecefe8}.user-menu summary i{font-style:normal;color:var(--muted);transition:.18s}.user-menu[open] summary i{transform:rotate(180deg)}
.user-menu-alert{display:grid;place-items:center;min-width:19px;height:19px;padding:0 5px;border-radius:99px;background:var(--orange);color:white;font-size:10px}.user-menu-panel{position:absolute;right:0;top:calc(100% + 12px);width:270px;padding:9px;background:white;border:1px solid var(--line);border-radius:17px;box-shadow:0 22px 55px #17211c22;z-index:20}.user-menu-heading{display:grid;padding:12px 13px 14px;border-bottom:1px solid var(--line);margin-bottom:5px}.user-menu-heading small{color:var(--muted);font-weight:400;overflow:hidden;text-overflow:ellipsis}.user-menu-panel>a,.user-menu-panel form button{width:100%;display:flex;align-items:center;justify-content:space-between;padding:11px 13px;border-radius:10px;font-weight:600;text-align:left}.user-menu-panel>a:hover,.user-menu-panel form button:hover{background:#f0f3ed}.user-menu-panel form{display:block;border-top:1px solid var(--line);margin-top:5px;padding-top:5px}.user-menu-panel form button{font:inherit;font-weight:600}
.language-switch{position:relative}.language-switch summary{list-style:none;cursor:pointer;padding:5px 8px;border-radius:12px;font-weight:600}.language-switch summary::-webkit-details-marker{display:none}.language-switch summary:hover,.language-switch[open] summary{background:#ecefe8}.language-switch-panel{position:absolute;right:0;top:calc(100% + 10px);min-width:130px;padding:6px;background:white;border:1px solid var(--line);border-radius:14px;box-shadow:0 22px 55px #17211c22;z-index:20;display:grid}.language-switch-panel a{padding:9px 12px;border-radius:9px;font-weight:600}.language-switch-panel a:hover{background:#f0f3ed}.language-switch-panel a.active{color:var(--green);background:#eef5e9}
main{max-width:1200px;margin:auto;position:relative}
.page-glow{position:absolute;top:0;left:0;right:0;height:1500px;z-index:0;pointer-events:none;overflow:visible}
.page-glow:before,.page-glow:after{content:"";position:absolute;border-radius:50%;filter:blur(70px)}
.page-glow:before{top:-12%;left:-12%;width:46%;aspect-ratio:1;background:radial-gradient(circle,rgba(255,214,200,.65),rgba(255,214,200,0) 70%)}
.page-glow:after{top:52%;right:-10%;width:48%;aspect-ratio:1;background:radial-gradient(circle,rgba(205,216,255,.6),rgba(205,216,255,0) 70%)}
.hero{position:relative;z-index:1;min-height:620px;padding:65px 5vw 60px;display:grid;grid-template-columns:minmax(0,1.25fr) minmax(310px,.75fr);gap:70px;align-items:center;border-bottom:1px solid var(--line)}
.hero>div{min-width:0}
.hero h1,.product-hero h1,.page-head h1,.form-page h1{font:800 clamp(46px,7vw,94px)/.96 Manrope,sans-serif;letter-spacing:-.055em;margin:20px 0;color:var(--ink-heading)}
.hero p{font-size:20px;max-width:610px;color:var(--muted)}
.eyebrow,.kicker{font-size:12px;letter-spacing:.14em;text-transform:uppercase;font-weight:700;color:var(--green)}
.actions{display:flex;gap:12px;margin-top:32px}
.button{border:1px solid var(--ink);padding:14px 22px;border-radius:99px;font-weight:700;display:inline-block;cursor:pointer}
.button.primary{background:var(--ink);color:white}
.button.ghost{background:transparent}
.button.light{background:var(--lime);border-color:var(--lime)}
.button.small{padding:9px 14px;font-size:13px}
/* 四大功能改為垂直連接的步驟軸：左側數字圓點用一條線串起，強調這是單一流程而非四個獨立方塊。 */
.hero-flow{position:relative;margin-top:28px;max-width:640px}
.hero-flow:before{content:"";position:absolute;left:21px;top:26px;bottom:26px;width:2px;background:var(--line)}
.hero-flow-step{position:relative;display:grid;grid-template-columns:44px minmax(0,1fr);gap:18px;padding:16px 4px;border-radius:14px;text-decoration:none;transition:background .18s;opacity:0;transform:translateX(-16px);animation:hero-flow-in .5s cubic-bezier(.22,.8,.3,1) both}
.hero-flow-step:nth-child(1){animation-delay:.52s}.hero-flow-step:nth-child(2){animation-delay:.62s}.hero-flow-step:nth-child(3){animation-delay:.72s}.hero-flow-step:nth-child(4){animation-delay:.82s}
.hero-flow-step:hover{background:#17211c06}
.hero-flow-num{position:relative;z-index:1;width:44px;height:44px;border-radius:50%;display:grid;place-items:center;font:800 14px Manrope;color:var(--ink);box-shadow:0 0 0 6px var(--bg,#f5f3ec);transition:transform .18s}
.hero-flow-step:hover .hero-flow-num{transform:scale(1.08)}
.hero-flow-discover .hero-flow-num{background:#c9f36a}.hero-flow-launch .hero-flow-num{background:#cdd8ff}.hero-flow-verify .hero-flow-num{background:#ffd9c2}.hero-flow-distribute .hero-flow-num{background:#c9ecd6}
.hero-flow-copy{min-width:0;padding-top:2px}
.hero-flow-copy small{display:block;font:800 11px Manrope;letter-spacing:.12em;color:var(--muted);margin-bottom:6px}
.hero-flow-copy strong{display:block;font:800 20px/1.2 Manrope,sans-serif}
.hero-flow-copy>span{display:block;margin-top:6px;font-size:13px;color:var(--muted);font-weight:600;overflow-wrap:anywhere}
.hero-path-arrow{display:inline-block;font-style:normal;transition:transform .2s}
.hero-flow-step:hover .hero-path-arrow{transform:translateX(4px)}
@keyframes hero-flow-in{from{opacity:0;transform:translateX(-16px)}to{opacity:1;transform:none}}
@keyframes hero-rise{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}
.hero .eyebrow{font-size:14px;animation:hero-rise .6s cubic-bezier(.22,.8,.3,1) both}
.hero>div>p{animation:hero-rise .6s cubic-bezier(.22,.8,.3,1) .3s both}
.hero-search{animation:hero-rise .6s cubic-bezier(.22,.8,.3,1) .38s both}
.hero-globe{animation:hero-rise .7s cubic-bezier(.22,.8,.3,1) .3s both}
@media(prefers-reduced-motion:reduce){.hero .eyebrow,.hero>div>p,.hero-search,.hero-globe,.hero-flow-step{animation:none;opacity:1;transform:none}.hero-path-arrow{transition:none}.hero-flow-step:hover .hero-path-arrow{transform:none}.hero-flow-num{transition:none}.hero-flow-step:hover .hero-flow-num{transform:none}}
/* 大標題用遮罩由下往上滑出，模擬簾幕拉開效果；外層 overflow:hidden 裁切，內層文字位移。 */
.hero-title-mask{display:block;overflow:hidden;padding-bottom:.15em;margin-bottom:-.15em}
.hero-title-text{display:block;background:linear-gradient(100deg,var(--blue) 0%,var(--green) 100%);-webkit-background-clip:text;background-clip:text;color:transparent;animation:hero-title-reveal 1s cubic-bezier(.16,1,.3,1) .12s both}
@keyframes hero-title-reveal{from{opacity:0;transform:translateY(115%) rotate(2deg)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.hero-title-text{animation:none}}
.hero-globe{position:relative;width:min(500px,100%);aspect-ratio:1;margin:auto;isolation:isolate}.hero-globe:before{content:"";position:absolute;inset:8%;border-radius:50%;background:radial-gradient(circle at 40% 35%,rgba(201,243,106,.3),rgba(205,216,255,.2) 45%,rgba(255,214,200,.17) 68%,transparent 70%);animation:globe-aura 7s ease-in-out infinite}.hero-globe-orbit{position:absolute;border:1px solid rgba(34,107,69,.2);border-radius:50%;inset:12%;animation:globe-spin 24s linear infinite}
.hero-globe-icon{position:absolute;width:24px;height:24px;display:grid;place-items:center;border-radius:50%;color:#fff;box-shadow:0 0 0 7px rgba(23,33,28,.1);animation:globe-spin 24s linear infinite reverse}
.hero-globe-icon svg{width:12px;height:12px}
.hero-globe-icon-a{left:12%;top:12%;background:var(--blue)}.hero-globe-icon-b{right:8%;bottom:18%;background:var(--orange)}
.hero-globe-orbit-inner{inset:25%;border-style:dashed;animation-duration:18s;animation-direction:reverse}
.hero-globe-orbit-inner .hero-globe-icon{animation:globe-spin 18s linear infinite}
.hero-globe-icon-c{left:12%;top:12%;background:var(--green)}.hero-globe-icon-d{right:8%;bottom:18%;background:#8a5cf6}
.hero-globe-orbit-flags{inset:0;border:0;animation:globe-spin 70s linear infinite}
.hero-globe-orbit-flags .hero-globe-node{animation:globe-spin 70s linear infinite reverse}
.hero-globe-core{position:absolute;inset:29%;border-radius:50%;display:grid;place-content:center;text-align:center;background:linear-gradient(145deg,#d8ff83,#bff05b);border:1px solid rgba(23,33,28,.12);box-shadow:0 22px 55px rgba(34,107,69,.16);animation:globe-pulse 5s ease-in-out infinite}.hero-globe-core span{font:800 11px Manrope;letter-spacing:.18em;color:var(--green)}.hero-globe-core strong{font:800 clamp(19px,2vw,28px)/1 Manrope;letter-spacing:-.02em}.hero-globe-core small{margin-top:7px;font:800 6.5px Manrope;letter-spacing:.1em;color:var(--green)}
.hero-globe-spotlight{position:absolute;inset:-55%;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;opacity:0;transform:scale(.2) rotate(-14deg);transition:opacity .25s ease,transform .55s cubic-bezier(.34,1.56,.64,1);pointer-events:none;z-index:3}
.hero-globe-core>span,.hero-globe-core>strong,.hero-globe-core>small{transition:opacity .2s ease}
.hero-globe-core.is-spotlighting>span,.hero-globe-core.is-spotlighting>strong,.hero-globe-core.is-spotlighting>small{opacity:0}
.hero-globe-spotlight.is-active{opacity:1;transform:scale(1) rotate(0)}
.hero-globe-spotlight span.hero-globe-spotlight-flag{font-size:clamp(64px,9vw,108px);line-height:1;letter-spacing:0;filter:drop-shadow(0 10px 20px rgba(23,33,28,.32))}
.hero-globe-spotlight small{font:800 11px Manrope;letter-spacing:.14em;text-transform:uppercase;color:var(--green);background:rgba(255,255,255,.9);padding:4px 10px;border-radius:99px}
@media(prefers-reduced-motion:reduce){.hero-globe-spotlight{transition:opacity .2s ease}}.hero-globe-node,.hero-globe-satellite{position:absolute;z-index:2;padding:10px 14px;border:1px solid var(--line);border-radius:99px;background:rgba(255,255,255,.9);box-shadow:0 14px 32px rgba(23,33,28,.09);font:800 10px Manrope;letter-spacing:.08em;backdrop-filter:blur(8px);animation:globe-float 5s ease-in-out infinite}.hero-globe-node{background:none;border:0;box-shadow:none;backdrop-filter:none;padding:0;font-size:103px;line-height:1}.hero-globe-taipei{left:2%;top:23%}.hero-globe-tokyo{right:0;top:16%;animation-delay:-1.2s}.hero-globe-seoul{left:3%;bottom:17%;animation-delay:-2.4s}.hero-globe-singapore{right:2%;bottom:20%;animation-delay:-3.4s}.hero-globe-satellite{border-radius:14px}.hero-globe-product{right:5%;top:44%;transform:rotate(6deg);background:#cdd8ff}.hero-globe-idea{left:8%;top:47%;transform:rotate(-7deg);background:#fff0b9;animation-delay:-2s}@keyframes globe-spin{to{transform:rotate(360deg)}}@keyframes globe-pulse{0%,100%{transform:scale(.98)}50%{transform:scale(1.035)}}@keyframes globe-float{0%,100%{translate:0 0}50%{translate:0 -8px}}@keyframes globe-aura{0%,100%{transform:scale(.96);opacity:.8}50%{transform:scale(1.04);opacity:1}}
.flag-marquee{margin:14px auto 0;max-width:50%;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent);mask-image:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent)}
.flag-marquee-track{display:flex;width:max-content;gap:16px;animation:marquee-scroll 26s linear infinite}
.flag-marquee-track span{font-size:22px;line-height:1;position:relative;cursor:pointer;transition:transform .2s cubic-bezier(.34,1.56,.64,1)}
.flag-marquee-track span.is-active{transform:scale(1.9);z-index:2}
@keyframes marquee-scroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media(prefers-reduced-motion:reduce){.flag-marquee-track{animation:none}}
.hero-showcase{height:420px;position:relative;isolation:isolate}
.showcase-glow{position:absolute;inset:45px 10px 20px;border-radius:46% 54% 58% 42%;background:linear-gradient(145deg,#dcf7a3,#d9e1ff 55%,#ffd6c8);filter:saturate(.9);animation:showcase-breathe 7s ease-in-out infinite}
.showcase-card{position:absolute;width:190px;height:128px;padding:17px;border:1px solid rgba(23,33,28,.13);border-radius:22px;box-shadow:0 18px 45px #17211c18;display:grid;grid-template-columns:1fr auto;align-content:space-between;z-index:2;animation:showcase-float 5s ease-in-out infinite}
.showcase-card>span{font:800 28px Manrope}.showcase-card>small{justify-self:end;font:800 10px Manrope;letter-spacing:.15em}.showcase-card>strong{grid-column:1/-1;font:800 16px/1.2 Manrope}
.showcase-idea{left:0;top:46px;background:#fff0b9;transform:rotate(-7deg)}
.showcase-build{right:2px;top:116px;background:#cdd8ff;transform:rotate(7deg);animation-delay:-1.7s}
.showcase-launch{left:55px;bottom:18px;background:#c9f36a;transform:rotate(3deg);animation-delay:-3.4s}
.showcase-stamp{position:absolute;right:22px;bottom:15px;width:122px;height:122px;border-radius:50%;background:var(--ink);color:white;display:grid;place-content:center;text-align:center;z-index:3;box-shadow:0 15px 35px #17211c20}
.showcase-stamp span{font-size:24px}.showcase-stamp strong{font:800 22px Manrope}.showcase-stamp small{font-size:8px;letter-spacing:.08em;color:var(--lime)}
@keyframes showcase-breathe{0%,100%{transform:scale(.98) rotate(-1deg)}50%{transform:scale(1.02) rotate(1deg)}}
@keyframes showcase-float{0%,100%{translate:0 0}50%{translate:0 -9px}}
@media(prefers-reduced-motion:reduce){.showcase-glow,.showcase-card,.hero-globe:before,.hero-globe-orbit,.hero-globe-icon,.hero-globe-core,.hero-globe-node,.hero-globe-satellite,.hero-globe-orbit-flags .hero-globe-node{animation:none}}
.why-carousel{--why-accent:#b8ec52;position:relative;min-height:410px;padding:0 14px 14px;display:flex;flex-direction:column;isolation:isolate}.why-carousel:before,.why-carousel:after{content:"";position:absolute;z-index:-1;left:34px;right:4px;height:72%;bottom:14px;border:1px solid rgba(23,33,28,.09);border-radius:28px;background:#eef1eb;transform:rotate(2.4deg)}.why-carousel:after{left:5px;right:34px;background:#e3e9f7;transform:rotate(-2deg)}.why-carousel-head{display:flex;justify-content:space-between;align-items:center;padding:0 8px 13px;font:800 10px Manrope;letter-spacing:.16em}.why-carousel-head span{display:flex;align-items:center;gap:8px}.why-carousel-head span:before{content:"";width:22px;height:2px;background:var(--green)}.why-carousel-head strong{color:var(--muted);font-size:10px}.why-slides{display:grid;flex:1;min-height:330px}.why-slide{--why-accent:#b8ec52;grid-area:1/1;position:relative;min-height:330px;padding:28px 30px 25px;border:1px solid rgba(23,33,28,.13);border-radius:26px;background:linear-gradient(145deg,#fff 0 72%,color-mix(in srgb,var(--why-accent) 22%,white));box-shadow:0 22px 55px rgba(23,33,28,.11);display:flex;flex-direction:column;overflow:hidden;opacity:1;transition:opacity .75s cubic-bezier(.45,0,.2,1),transform .75s cubic-bezier(.45,0,.2,1)}.why-slide.why-fade-out{opacity:0;transform:translateY(12px) scale(.99)}.why-slide:before{content:"";position:absolute;width:170px;height:170px;right:-65px;top:-80px;border-radius:50%;background:var(--why-accent);opacity:.22}.why-slide-meta{display:grid;grid-template-columns:38px 1fr auto;align-items:center;gap:10px;position:relative}.why-role-icon{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;background:var(--why-accent);font:800 19px Manrope}.why-slide small{font:800 10px Manrope;letter-spacing:.12em;text-transform:uppercase}.why-slide-meta b{font:800 11px Manrope;letter-spacing:.12em;color:var(--muted)}.why-slide-copy{margin:auto 0}.why-slide h2{font:800 clamp(29px,2.6vw,40px)/1.02 Manrope;letter-spacing:-.04em;margin:25px 0 12px;max-width:390px}.why-slide p{font-size:14px;line-height:1.6;max-width:390px;margin:0;color:var(--muted)}.why-slide>a{display:flex;align-items:center;justify-content:space-between;margin-top:24px;padding-top:16px;border-top:1px solid rgba(23,33,28,.12);font-weight:800}.why-slide>a i{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:var(--ink);color:white;font-style:normal;transition:.2s}.why-slide>a:hover i{transform:translate(2px,-2px);background:var(--green)}.why-explorer{--why-accent:#bff25d}.why-idea{--why-accent:#ffd76e}.why-founder{--why-accent:#9fb5ff}.why-scout{--why-accent:#ffad91}.why-controls{display:grid;grid-template-columns:36px 1fr 36px;align-items:center;gap:10px;padding:13px 8px 0}.why-controls>button{width:36px;height:36px;border:1px solid var(--line);border-radius:50%;background:rgba(255,255,255,.85);cursor:pointer;transition:.2s}.why-controls>button:hover{background:var(--ink);color:white;transform:scale(1.04)}.why-dots{display:flex;justify-content:center;gap:7px}.why-dots button{width:7px;height:7px;padding:0;border:0;border-radius:99px;background:#c8cec6;cursor:pointer;transition:.25s}.why-dots button[aria-selected=true]{width:24px;background:var(--green)}
@media(prefers-reduced-motion:reduce){.why-slide{transition:none}}
/* Why AsianLaunch 是 Hero 後的完整品牌敘事，人物照片和角色價值各占一半。 */
.why-section{margin:0;padding:60px 5vw;background:linear-gradient(135deg,#e8f2df 0%,#f5f3eb 48%,#e7ebfa 100%);color:var(--ink);border-block:1px solid rgba(23,33,28,.08)}
.why-section-head{max-width:640px;margin:0 0 30px}
.why-section-head h2{font:800 clamp(24px,3.4vw,36px)/1.1 Manrope;margin:8px 0 0;color:var(--ink-heading)}
.why-grid{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(390px,.92fr);gap:0}.why-media{position:relative;min-height:455px;border-radius:30px 0 0 30px;overflow:hidden;background:#dfe5dc;box-shadow:0 24px 65px rgba(23,33,28,.11)}.why-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:1;transform:scale(1);transition:opacity .9s cubic-bezier(.45,0,.2,1),transform .9s cubic-bezier(.45,0,.2,1)}.why-media img.why-fade-out{opacity:0;transform:scale(1.03)}.why-media:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 58%,rgba(10,20,15,.55))}.why-media-caption{position:absolute;z-index:2;left:30px;bottom:25px;font:800 10px Manrope;letter-spacing:.18em;color:white}.why-section .why-carousel{min-height:455px;padding:28px 32px 24px;border:1px solid rgba(23,33,28,.1);border-left:0;border-radius:0 30px 30px 0;background:rgba(255,255,255,.84);color:var(--ink);box-shadow:0 24px 65px rgba(23,33,28,.08);backdrop-filter:blur(12px)}.why-section .why-carousel:before,.why-section .why-carousel:after{display:none}.why-section .why-carousel-head{padding:0 0 20px}.why-section .why-slides{min-height:310px}.why-section .why-slide{min-height:310px;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;overflow:visible}.why-section .why-slide:before{display:none}.why-section .why-slide-meta{grid-template-columns:42px 1fr auto}.why-section .why-role-icon{width:42px;height:42px;border-radius:50%;box-shadow:0 8px 22px color-mix(in srgb,var(--why-accent) 40%,transparent)}.why-section .why-slide-copy{margin:auto 0}.why-section .why-slide h2{font-size:clamp(28px,2.6vw,42px);max-width:520px;margin:22px 0 14px}.why-section .why-slide p{font-size:15px;max-width:510px}.why-section .why-slide>a{margin-top:22px}.why-section .why-controls{padding:14px 0 0}.why-section .why-controls>button{background:white;border-color:#cbd0c8}
.section{padding:38px 5vw}
.section.reveal{opacity:0;transform:translateY(30px);transition:opacity .7s cubic-bezier(.22,.8,.3,1),transform .7s cubic-bezier(.22,.8,.3,1)}
.section.reveal.is-visible{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){.section.reveal{opacity:1;transform:none;transition:none}}
.section-head{display:flex;align-items:end;justify-content:space-between;margin-bottom:25px;gap:20px}
.section-head h2,.newsletter h2,.prose h2{font:800 clamp(28px,4vw,44px)/1.1 Manrope;margin:6px 0;color:var(--ink-heading)}
.section-head p{margin:0;color:var(--muted);font-size:14px;max-width:520px}
.why-slide h2,.editorial-hero h1,.editorial-card h2,.editorial-article-head h1,.editorial-body h2{color:var(--ink-heading)}
.section-head>a{font-weight:700;white-space:nowrap}
.editorial-banner{position:relative;z-index:1;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:26px;margin:0 5vw;padding:20px 24px;border:1px solid rgba(23,33,28,.12);border-radius:16px;background:linear-gradient(105deg,#e8f4d9,#f7f5ed 58%,#e5eafb);box-shadow:0 8px 24px rgba(23,33,28,.06);transition:transform .2s,box-shadow .2s}
.editorial-banner:hover{transform:translateY(-2px);box-shadow:0 14px 34px rgba(23,33,28,.1)}
.editorial-banner-label{padding:6px 9px;border-radius:99px;background:var(--ink);color:var(--lime);font:800 10px Manrope;letter-spacing:.12em;white-space:nowrap}
.editorial-banner-copy{display:grid;gap:2px}.editorial-banner-copy strong{font:800 18px Manrope;color:var(--ink-heading)}.editorial-banner-copy>span{color:var(--muted);font-size:14px}
.editorial-banner-link{font-weight:800;white-space:nowrap}.editorial-banner-link i{display:inline-block;font-style:normal;transition:transform .2s}.editorial-banner:hover .editorial-banner-link i{transform:translateX(4px)}
.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.cards-row{position:relative;display:flex;align-items:center;gap:8px}
.cards-row .cards.cards-scroll{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;gap:14px;padding-bottom:6px;scrollbar-width:none}
.cards-row .cards.cards-scroll::-webkit-scrollbar{display:none}
.cards-row .cards.cards-scroll .card{flex:0 0 clamp(200px,19vw,240px);scroll-snap-align:start}
.cards-nav{flex:0 0 auto;width:40px;height:40px;border-radius:50%;border:1px solid var(--line);background:white;font-size:19px;cursor:pointer;display:grid;place-items:center;transition:.15s}
.cards-nav:hover{border-color:var(--ink);background:#f6f7f4}
.cards-nav[hidden]{display:grid;visibility:hidden}
.card{background:var(--white);border:1px solid var(--line);border-radius:14px;overflow:hidden;transition:.2s;box-shadow:0 2px 8px rgba(23,33,28,.05)}
.card:hover{transform:translateY(-3px);box-shadow:0 10px 20px rgba(23,33,28,.1)}
.card-cover{height:108px;display:block;background:#e5e9df}
.card-cover img,.product-cover img{width:100%;height:100%;object-fit:cover}
.card-cover img{transition:transform .5s cubic-bezier(.22,.8,.3,1)}
.card:hover .card-cover img{transform:scale(1.06)}
@media(prefers-reduced-motion:reduce){.card-cover img{transition:none}.card:hover .card-cover img{transform:none}}
.card-body{padding:11px 12px}
.card-heading{display:flex;gap:9px}
.logo{width:32px;height:32px;border-radius:8px;border:1px solid var(--line);object-fit:cover}
.card h3{font:800 14px Manrope;margin:0 0 2px}
.card p{color:var(--muted);margin:0 0 8px;font-size:12px;line-height:1.4;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}
.meta{display:flex;gap:5px;flex-wrap:wrap;margin-bottom:0}
.meta span,.meta a{font-size:10px;background:#edf0ea;padding:2.5px 7px;border-radius:99px}
.meta .stage-badge{background:#e5f4e8;color:var(--green);font-weight:700;border:1px solid #b9d9bd}.meta .stage-idea,.meta .stage-building{background:#fff1cf;color:#7b5610;border-color:#e8cf91}.meta .stage-beta{background:#eef3dc;color:#52691d;border-color:#cdd9a3}
.chip{display:inline-flex;align-items:center;gap:4px;padding:5px 9px;border:1px solid var(--line);border-radius:99px;background:white;font:600 10.5px inherit;color:var(--ink);cursor:pointer;transition:.15s}
.chip:hover{border-color:#b9c2b3;background:#f6f7f4}
.chip.chip-active{background:var(--lime);border-color:var(--lime)}
.editorial-card .editorial-card-disclosure{padding-top:12px;border-top:1px solid var(--line);font-size:13px;color:var(--green);font-weight:600}
.country-chips{display:flex;flex-wrap:wrap;gap:9px}
.country-chip{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border:1px solid var(--line);border-radius:99px;background:white;font-weight:700;font-size:13px;color:var(--ink);transition:.15s}
.country-chip:hover{border-color:var(--ink);background:#f6f7f4}
.country-chip span{color:var(--muted);font-weight:600;font-size:12px}
.pagination{display:flex;align-items:center;justify-content:center;gap:18px;margin:0 5vw 55px}.pagination a{padding:9px 14px;border:1px solid var(--line);border-radius:99px;background:white;font-weight:700}.pagination span{color:var(--muted);font-size:13px}
.newsletter{margin:50px 5vw 75px;padding:55px;display:flex;justify-content:space-between;align-items:end;background:var(--green);color:white;border-radius:24px}
.newsletter .kicker{color:var(--lime)}
.newsletter form{display:flex;gap:8px;min-width:43%}
.newsletter input{flex:1;padding:14px;border:0;border-radius:99px}
.flash{max-width:900px;margin:15px auto;padding:12px 20px;border-radius:9px;background:#e0f3dd}
.flash.error{background:#ffe1dc}
.modal-overlay{position:fixed;inset:0;background:rgba(23,33,28,.55);display:flex;align-items:center;justify-content:center;padding:20px;z-index:999}
.modal-box{background:var(--white);border-radius:20px;max-width:380px;width:100%;padding:36px 32px;text-align:center;box-shadow:0 24px 60px rgba(23,33,28,.3)}
.modal-emoji{font-size:44px;line-height:1;display:block;margin-bottom:14px}
.modal-box h2{margin:0 0 10px;color:var(--ink)}
.modal-box p{margin:0 0 24px;color:var(--muted)}
.modal-box .button{width:100%}
.product-hero{padding:65px 6vw 40px;position:relative}
.crumb{color:var(--muted);font-size:14px;margin-bottom:50px}
.product-title{display:flex;align-items:center;gap:24px}
.product-title h1{font-size:clamp(48px,7vw,90px);margin:8px 0}
.product-title p{font-size:24px;color:var(--muted);margin:0}
.product-logo{width:112px;height:112px;object-fit:cover;border-radius:25px;border:1px solid var(--line)}
.product-cover{margin:10px 5vw;height:min(56vw,650px);border-radius:24px;overflow:hidden}
.product-main{padding:20px 8vw 60px}
.prose{max-width:820px}
.feature-list{display:grid;gap:10px;padding:0;margin:0;list-style:none}.feature-list li{position:relative;padding-left:26px;font-size:16px;color:#48534d}.feature-list li:before{content:"✓";position:absolute;left:0;top:0;color:var(--green);font-weight:800}
.prose p{font-size:18px;color:#48534d;white-space:pre-wrap}
.feedback-band{background:#eceee8;padding:55px 6vw;margin-bottom:10px}
.feedback-band h2{font:800 clamp(26px,3vw,36px) Manrope;margin:6px 0 4px}
.feedback-band-inner{display:grid;grid-template-columns:1.3fr .7fr;gap:40px;align-items:start}
.feedback-band-form{max-width:760px}
.product-actions-bar{display:flex;flex-direction:column;gap:12px;padding:22px;border:1px solid var(--line);border-radius:14px;background:white;margin:0}
.product-actions-bar .primary-action{display:grid;gap:6px;justify-items:stretch}
.product-actions-bar .primary-action .button{width:100%;text-align:center}
.product-actions-bar .primary-action small{max-width:none;text-align:center;color:var(--muted);font-size:12px}
.product-actions-bar .secondary-actions{display:flex;gap:8px}
.product-actions-bar .secondary-actions form,.product-actions-bar .secondary-actions>a{flex:1;margin:0}
.product-actions-bar .secondary-actions .chip{width:100%;justify-content:center}
.product-actions-bar .inline-follow{display:flex;width:100%;border:1px solid var(--line);border-radius:10px;overflow:hidden;background:white}
.product-actions-bar .inline-follow input{flex:1;min-width:0;border:0;padding:9px 12px;font:inherit}
.product-actions-bar .inline-follow button{border:0;background:var(--ink);color:#fff;padding:0 14px;font:700 12.5px inherit;cursor:pointer;white-space:nowrap}
.reactions{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0}
.reactions label{background:white;border:1px solid var(--line);border-radius:99px;padding:10px 17px}
.feedback-band select,.feedback-band textarea{display:block;width:100%;margin:12px 0;padding:14px;border:1px solid var(--line);border-radius:10px;background:white}
.feedback-band textarea{height:110px}
.feedback-signin-note{display:flex;align-items:center;justify-content:space-between;height:110px;margin:12px 0;padding:14px;border:1px dashed var(--line);border-radius:10px;background:white;color:var(--muted);font-weight:600}
.founder-strip{display:flex;flex-wrap:wrap;gap:32px;margin:35px 8vw 55px;padding:28px 30px;border:1px solid var(--line);border-radius:18px;background:white}
.founder-strip-block{flex:1;min-width:260px}
.founder-strip-block label{font-weight:700;display:block;margin-bottom:4px}
.founder-story{margin:14px 0;font-size:14px;color:#48534d}.founder-story strong{display:block;margin-bottom:4px;color:var(--ink)}
.founder-social{display:flex;gap:14px;margin:10px 0}.founder-social a{font-weight:700;font-size:14px}
.product-page .recommendations{background:#eceee8;margin-top:20px}
.copybox{display:flex;margin-top:8px}
.copybox input{min-width:0;flex:1;padding:10px;border:1px solid var(--line);border-radius:8px 0 0 8px}
.copybox button{background:var(--ink);color:white;border:0;padding:0 14px;border-radius:0 8px 8px 0;transition:background .15s}
.copybox button.copied{background:var(--green)}
.toast{position:fixed;left:50%;bottom:28px;transform:translateX(-50%) translateY(20px);background:var(--ink);color:white;padding:14px 22px;border-radius:99px;font-weight:600;font-size:14px;box-shadow:0 14px 35px #17211c33;opacity:0;pointer-events:none;transition:.25s;z-index:60;max-width:min(90vw,420px);text-align:center}
.toast.show{opacity:1;transform:translateX(-50%) translateY(0)}
.form-page{padding:70px 5vw;display:grid;place-items:center}
.panel{background:white;border:1px solid var(--line);border-radius:22px;padding:42px;width:min(480px,100%)}
.panel.wide{width:min(900px,100%)}
.panel h1{font-size:40px}
.panel>label,.form-grid label{display:grid;gap:6px;font-weight:600;margin:14px 0}
.panel input,.panel textarea,.panel select{width:100%;padding:13px;border:1px solid #cdd2ca;border-radius:9px}
.auth-form>.button{margin-top:24px}.auth-form>p{margin:28px 0 0}.auth-form>p a{color:var(--green);font-weight:700}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}
.form-grid .full{grid-column:1/-1}
.consent{display:flex!important;grid-template-columns:auto 1fr!important}
.consent input{width:auto}
.page-head{padding:75px 6vw 35px}
.page-head h1{font-size:clamp(40px,6vw,70px)}
.page-head p{font-size:19px;color:var(--muted)}
.dashboard-product,.admin-list{margin:20px 5vw 45px;background:white;border:1px solid var(--line);border-radius:20px;padding:30px}
.dash-title{display:flex;justify-content:space-between;align-items:center}
.dash-title h2{font:800 30px Manrope;margin:5px 0}
.status{font-size:11px;text-transform:uppercase;letter-spacing:.08em;background:#eee;padding:5px 9px;border-radius:99px}
.status.live,.status.approved,.status.evergreen{background:#d7f4d8;color:#165c2d}
.status.pending_review{background:#fff0c9;color:#745200}
.metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));border:1px solid var(--line);border-radius:14px;margin:25px 0}
.metrics div{padding:22px;border-right:1px solid var(--line)}
.metrics div:last-child{border:0}
.metrics strong{font:800 30px Manrope;display:block}
.metrics span,.muted{color:var(--muted);font-size:13px}
.dash-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px}
.source{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px solid var(--line)}
.source-help{margin:14px 0;font-size:13px;color:var(--muted)}
.source-help summary{cursor:pointer;font-weight:700;color:var(--green)}
.source-help ul{margin:10px 0 0;padding-left:18px;display:grid;gap:6px}
.source-help strong{color:var(--ink)}
.admin-list article{display:flex;justify-content:space-between;padding:20px;border-bottom:1px solid var(--line)}
.admin-list form{display:flex;gap:10px;align-items:center}
.admin-subscribers{margin:0 5vw 70px}.admin-subscribers .section-head>strong{font:800 42px Manrope;color:var(--green)}.subscriber-table{border:1px solid var(--line);border-radius:16px;overflow:hidden}.subscriber-row{display:grid;grid-template-columns:minmax(220px,.9fr) minmax(420px,1.6fr);gap:24px;align-items:center;padding:18px 20px;border-bottom:1px solid var(--line)}.subscriber-row:last-child{border-bottom:0}.subscriber-heading{background:#f0f3ed;color:var(--muted);font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.06em}.subscriber-row time,.subscriber-row span{color:var(--muted)}.subscriber-details{display:flex;align-items:center;justify-content:flex-end;gap:15px;flex-wrap:wrap;font-size:13px}.subscriber-details time{padding-left:14px;border-left:1px solid var(--line);white-space:nowrap}.subscriber-details time b{color:var(--ink);margin-right:5px}.subscriber-account{display:inline-flex;padding:5px 9px;border-radius:99px;font-size:11px;white-space:nowrap}.subscriber-account.member{background:#dff2e3;color:#17613a}.subscriber-account.visitor{background:#edf0ea;color:var(--muted)}
.empty{grid-column:1/-1;padding:45px;text-align:center;color:var(--muted);border:1px dashed var(--line);border-radius:16px}
.empty.big{margin:40px 5vw}
footer{border-top:1px solid var(--line);background:var(--white)}
.footer-inner{max-width:1200px;margin:0 auto;padding:70px 5vw 0}
.footer-top{display:flex;justify-content:space-between;gap:40px 80px;padding-bottom:48px;flex-wrap:wrap}
.footer-brand{max-width:340px;display:flex;flex-direction:column;gap:14px}
.footer-brand>.brand{font-size:20px}
.footer-brand>p{margin:0;color:var(--muted);font-size:15px;line-height:1.6}
.footer-tagline{display:flex;align-items:center;gap:9px;margin:2px 0 0;font-weight:700;color:var(--ink-heading);font-size:14px}
.footer-dot{width:7px;height:7px;border-radius:50%;background:var(--lime);flex:none;box-shadow:0 0 0 3px color-mix(in srgb,var(--lime) 30%,transparent)}
.footer-col{display:flex;flex-direction:column;gap:15px;min-width:120px}
.footer-col small{font:800 11px Manrope;letter-spacing:.12em;color:var(--muted)}
.footer-col a{font-weight:500;color:var(--ink-heading);font-size:15px;transition:color .15s}
.footer-col a:hover{color:var(--green)}
.footer-bottom{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:24px 0;border-top:1px solid var(--line);font-size:13.5px;color:var(--muted);flex-wrap:wrap}
.footer-bottom a{color:var(--ink-heading);font-weight:600}
footer.footer-landing{display:flex;justify-content:center;align-items:center;gap:20px;flex-wrap:wrap;text-align:center;padding:50px 5vw;border-top:1px solid var(--line)}
footer.footer-landing .button.primary{background:var(--green);border-color:var(--green)}

@media(max-width:900px){nav>a:not(.nav-cta):nth-child(-n+2){display:none}
.hero{grid-template-columns:1fr;min-height:auto;padding-top:50px}
.hero-showcase{display:none}
.hero-globe{width:min(430px,82vw);margin-top:12px}
.why-carousel{width:min(620px,100%);margin:34px auto 0}
.why-section{padding:42px 6vw}.why-grid{grid-template-columns:1fr}.why-section .why-media{min-height:350px;border-radius:26px 26px 0 0}.why-section .why-carousel{width:100%;min-height:400px;margin:0;border-radius:0 0 26px 26px}
.cards{grid-template-columns:repeat(2,1fr)}
.cards-row .cards.cards-scroll .card{flex-basis:min(78vw,320px)}
.cards-nav{display:none}
.newsletter{display:block}
.newsletter form{min-width:0;margin-top:25px}
.metrics{grid-template-columns:repeat(2,1fr)}
.dash-grid{grid-template-columns:1fr}
}

@media(max-width:560px){header{padding:0 16px}
.brand span{display:none}
nav{gap:10px}
.nav-cta{display:none}
.hero h1{max-width:100%;font-size:clamp(40px,12.5vw,51px);line-height:1.02;overflow-wrap:anywhere}
.hero{padding:45px 18px}
.hero-search{width:100%;padding-left:13px}.hero-search button{padding:0 15px}.hero-search input{width:0}
.hero-flow{width:100%}.hero-flow-step{gap:14px}.hero-flow-copy strong{font-size:18px}
.hero-globe{width:min(330px,92vw)}
.hero-paths{grid-template-columns:1fr}
.why-carousel{min-height:390px;padding-inline:0}.why-carousel:before,.why-carousel:after{left:16px;right:16px}.why-slide{min-height:315px;padding:23px 22px}.why-slide h2{font-size:30px}.why-slide p{font-size:13px}.why-carousel-head{padding-inline:4px}
.why-section{padding:28px 18px}.why-section .why-media{min-height:250px}.why-section .why-carousel{min-height:375px;padding:22px 20px 20px}.why-section .why-slides,.why-section .why-slide{min-height:280px}.why-section .why-slide{padding:0}.why-section .why-slide h2{font-size:28px}.why-section .why-slide p{font-size:14px}.why-media-caption{left:20px;bottom:18px}
.cards{grid-template-columns:1fr}
.section{padding:28px 18px}
.card-cover{height:200px}
.newsletter{margin:30px 18px;padding:32px 23px}
.newsletter form{display:grid}
.product-hero{padding:35px 20px}
.product-title{align-items:flex-start}
.product-logo{width:70px;height:70px}
.product-title h1{font-size:43px}
.product-cover{margin:5px 18px;height:55vw}
.feedback-band{padding:40px 20px}
.product-main{padding:10px 20px 40px}
.founder-strip{margin:25px 20px 40px;padding:22px}
.form-grid{grid-template-columns:1fr}
.form-grid .full{grid-column:auto}
.panel{padding:28px 20px}
.page-head{padding:50px 20px 20px}
.dashboard-product{margin:15px;padding:20px}
.metrics{grid-template-columns:1fr 1fr}
.metrics div{border-bottom:1px solid var(--line)}
.admin-list{margin:15px;padding:10px}
.admin-subscribers{margin:15px}.subscriber-heading{display:none}.subscriber-row{grid-template-columns:1fr;gap:10px}.subscriber-row strong{overflow-wrap:anywhere}.subscriber-details{justify-content:flex-start;gap:8px 12px}.subscriber-details time{width:100%;padding:8px 0 0;border-left:0;border-top:1px solid var(--line)}
.admin-list article{display:block}
.admin-list form{margin-top:15px;flex-wrap:wrap}
.footer-top{flex-direction:column;gap:30px}
.footer-bottom{flex-direction:column;align-items:flex-start}
}

.hero-search{max-width:610px;height:58px;display:flex;align-items:center;gap:10px;background:white;border:1px solid var(--line);border-radius:14px;padding:6px 7px 6px 17px;margin-top:28px;box-shadow:0 12px 35px #17211c0b}
.hero-search span{font-size:25px;color:var(--muted)}
.hero-search input{border:0;outline:0;min-width:0;flex:1;background:transparent}
.hero-search button{height:44px;border:0;border-radius:10px;background:var(--ink);color:white;padding:0 20px;font-weight:700;cursor:pointer}
.hero-search+.actions{margin-top:20px}
.search-page-form{display:flex;gap:10px;max-width:700px;margin-top:28px}
.search-page-form input{flex:1;min-width:0;background:white;border:1px solid var(--line);border-radius:99px;padding:14px 20px;outline-color:var(--green)}

.brand-family{font-size:13px;color:var(--muted)}
.brand-family a{font-weight:700;color:var(--green)}

.cover-placeholder{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;background:linear-gradient(135deg,#dce8d7,#edf0e8);color:var(--green)}
.cover-placeholder span{font:800 clamp(30px,4.5vw,54px) Manrope}
.cover-placeholder small{max-width:70%;text-align:center;font-size:11px}
/* 沒有封面圖時，依產品 id 輪替淺色但活潑多元的漸層，避免每張卡都是同一種淡綠。 */
.cover-gradient-0{background:linear-gradient(135deg,#ffd6ec,#d6b6f5);color:#7a3d8f}
.cover-gradient-1{background:linear-gradient(135deg,#c9ecff,#a8d8f0);color:#1f5c7a}
.cover-gradient-2{background:linear-gradient(135deg,#fff0b3,#ffd39a);color:#8a5a12}
.cover-gradient-3{background:linear-gradient(135deg,#c9f3d8,#9fe0c4);color:#1f6b4a}
.cover-gradient-4{background:linear-gradient(135deg,#ffd6d6,#ffb3b3);color:#9a2f2f}
.cover-gradient-5{background:linear-gradient(135deg,#e0d6ff,#c2b3f0);color:#4a3d8f}
.logo-fallback{display:grid;place-items:center;background:var(--lime);font:800 21px Manrope}
.product-logo.logo-fallback{display:grid;place-items:center;font-size:48px}
.destination{border:1px solid var(--line);border-radius:14px;padding:20px;margin:18px 0}
.destination legend{font-weight:700;padding:0 8px}
.destination-options{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}
.destination-options label{display:flex;grid-template-columns:none;align-items:flex-start;gap:10px;background:#f3f5f0;padding:12px;border-radius:9px;margin:0;cursor:pointer}
.destination-options input{width:auto}
.destination-copy{display:grid;gap:3px}.destination-copy strong{line-height:1.3}.destination-copy small{font-size:13px;line-height:1.4}
.destination-options .destination-featured{border:1px solid #86a94a;background:#f2f8df}.destination-featured input{accent-color:var(--green)}.destination-copy em{display:inline-block;margin-left:8px;padding:3px 7px;border-radius:99px;background:var(--lime);color:var(--ink);font-size:11px;font-style:normal;vertical-align:2px}
.template-picker legend{font-weight:700;padding:0 8px}
.template-options{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:10px;margin-top:4px}
.template-option{position:relative;display:flex;flex-direction:column;gap:8px;padding:12px;border:1px solid var(--line);border-radius:12px;background:#f9faf7;cursor:pointer;margin:0}
.template-option input{position:absolute;opacity:0;pointer-events:none}
.template-option:has(input:checked){border-color:var(--ink);background:white;box-shadow:0 0 0 2px var(--ink) inset}
.template-option strong{font-size:14px;display:flex;align-items:center;gap:6px}
.template-option small{color:var(--muted);font-size:12px;line-height:1.4}
.template-option.template-locked{cursor:not-allowed;opacity:.55}
.template-option:has(input:disabled){cursor:not-allowed}
.pro-badge{font:800 9px Manrope;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);border:1px solid var(--line);border-radius:99px;padding:2px 7px}
.tpl-preview{display:grid;grid-template-columns:repeat(12,1fr);grid-auto-rows:6px;gap:3px;height:64px;padding:6px;border:1px solid var(--line);border-radius:6px;background:white;overflow:hidden}
.tpl-preview i{display:block;border-radius:2px;background:var(--line)}
.tpl-preview-default i:nth-child(1){grid-area:1/1/3/13;background:var(--lime)}
.tpl-preview-default i:nth-child(2){grid-area:3/2/4/9;background:var(--muted)}
.tpl-preview-default i:nth-child(3){grid-area:5/2/6/12}
.tpl-preview-default i:nth-child(4){grid-area:6/2/7/10}
.tpl-preview-clean i:nth-child(1){grid-area:1/1/2/6;background:var(--muted)}
.tpl-preview-clean i:nth-child(2){grid-area:2/1/6/13;background:var(--lime)}
.tpl-preview-clean i:nth-child(3){grid-area:7/1/8/11}
.tpl-preview-clean i:nth-child(4){grid-area:8/1/9/8}
.tpl-preview-bold i:nth-child(1){grid-area:1/1/6/7;background:var(--muted)}
.tpl-preview-bold i:nth-child(2){grid-area:1/8/6/13;background:#cdd8ff}
.tpl-preview-bold i:nth-child(3){grid-area:7/1/8/9}
.tpl-preview-bold i:nth-child(4){grid-area:8/1/9/6}
.tpl-preview-coming_soon i:nth-child(1){grid-area:1/4/2/10;background:var(--muted)}
.tpl-preview-coming_soon i:nth-child(2){grid-area:2/2/6/12;background:#ffd0bd}
.tpl-preview-coming_soon i:nth-child(3){grid-area:7/5/8/9;background:var(--ink)}
.tpl-preview-coming_soon i:nth-child(4){display:none}
.tpl-preview-gallery i:nth-child(1){grid-area:1/1/2/6;background:var(--muted)}
.tpl-preview-gallery i:nth-child(2){grid-area:2/1/5/13;background:#ffd0bd}
.tpl-preview-gallery i:nth-child(3){grid-area:6/1/9/7;background:var(--lime)}
.tpl-preview-gallery i:nth-child(4){grid-area:6/8/9/13;background:var(--lime)}
.tpl-preview-story i:nth-child(1){grid-area:1/1/2/6;background:var(--muted)}
.tpl-preview-story i:nth-child(2){grid-area:2/3/5/11;background:#ffe58e}
.tpl-preview-story i:nth-child(3){grid-area:6/1/9/13;background:var(--lime)}
.tpl-preview-story i:nth-child(4){display:none}
.tpl-preview-split i:nth-child(1){grid-area:1/1/2/13;background:var(--muted)}
.tpl-preview-split i:nth-child(2){grid-area:2/1/9/9;background:var(--lime)}
.tpl-preview-split i:nth-child(3){grid-area:2/10/5/13;background:#cdd8ff}
.tpl-preview-split i:nth-child(4){grid-area:6/10/9/13;background:#cdd8ff}
.tpl-preview-editorial i:nth-child(1){grid-area:1/1/3/13;background:#ffe58e}
.tpl-preview-editorial i:nth-child(2){grid-area:3/1/5/13;background:#cdd8ff}
.tpl-preview-editorial i:nth-child(3){grid-area:5/1/7/13;background:var(--ink)}
.tpl-preview-editorial i:nth-child(4){grid-area:7/1/9/13;background:#ffd0bd}
.destination small,.panel label small{font-weight:400;color:var(--muted)}
.media-gallery{padding:20px 5vw;display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.media-gallery img{width:100%;height:260px;object-fit:cover;border-radius:14px}
.interest{margin:20px 8vw 60px;padding:42px;background:var(--lime);border-radius:20px}
.interest h2{font:800 34px Manrope}
.interest form{display:flex;max-width:620px;gap:8px}
.interest input{flex:1;border:0;border-radius:99px;padding:14px 20px}
.dash-actions{display:flex;gap:20px;font-weight:700;align-items:center}
.dash-delete{display:inline-block;margin:0 0 0 4px}
.link-danger{border:0;background:none;padding:0;font:inherit;font-weight:700;color:#c23b3b;cursor:pointer}
.link-danger:hover{text-decoration:underline}

.admin-list article>form{display:grid;grid-template-columns:repeat(2,minmax(160px,1fr));align-items:end}
.admin-list form label{display:grid;gap:4px}
.admin-list form select,.admin-list form input,.admin-list form textarea{padding:9px;border:1px solid var(--line);border-radius:8px}
.admin-list .admin-notes{grid-column:1/-1}
.admin-list textarea{min-height:70px}

.admin-search{display:flex;gap:8px;max-width:620px;margin-top:24px}
.admin-search input{flex:1;min-width:0;padding:11px 15px;border:1px solid var(--line);border-radius:10px;background:white}
.admin-filters{justify-content:flex-start;gap:8px;margin-top:18px}
.admin-filters a{padding:8px 13px;border:1px solid var(--line);border-radius:99px;background:white}
.admin-filters a.active{background:var(--ink);border-color:var(--ink);color:white}
.form-grid .next-available{display:flex;align-items:center;align-self:end;gap:10px;min-height:50px;margin:14px 0;cursor:pointer}.panel .next-available input{width:20px;height:20px;padding:0;margin:0;flex:0 0 20px}.next-available span{font-weight:600}
.lead-list{margin-top:4px}.lead-row{display:grid;grid-template-columns:minmax(220px,1fr) 1fr auto;gap:16px;padding:10px 0;border-top:1px solid var(--line);align-items:center}.lead-row a{font-weight:700}.lead-contact{display:grid;gap:2px}.lead-contact small,.lead-row span,.lead-row time,.privacy-note{color:var(--muted);font-size:13px}.privacy-note{margin:10px 5px 0}
@media(max-width:560px){.lead-row{grid-template-columns:1fr;gap:2px}}
.following-head{padding-bottom:32px}.following-list{width:min(1120px,calc(100% - 40px));margin:0 auto 80px;display:grid;gap:14px}.following-item{display:grid;grid-template-columns:minmax(280px,1fr) auto auto;gap:28px;align-items:center;padding:22px 24px;border:1px solid var(--line);border-radius:16px;background:#fff}.following-product{display:flex;align-items:center;gap:16px;color:var(--ink)}.following-product>span:last-child{display:grid;gap:4px}.following-product strong{font:800 20px Manrope}.following-product small,.following-meta{color:var(--muted)}.following-meta{display:grid;gap:4px;font-size:13px}.following-actions{display:flex;align-items:center;gap:8px}.following-actions form{margin:0}.button.danger{background:#fff;color:#a12b2b;border-color:#d9aaaa}.following-empty{text-align:center;padding:60px 24px;border:1px dashed var(--line);border-radius:18px}.following-empty p{color:var(--muted);margin-bottom:24px}@media(max-width:800px){.following-item{grid-template-columns:1fr}.following-actions{justify-content:flex-start}}
.founder-avatar{display:inline-grid;place-items:center;flex:0 0 auto;border-radius:50%;object-fit:cover;border:1px solid var(--line);background:white}.founder-avatar.small{width:32px;height:32px}.founder-avatar.medium{width:58px;height:58px}.founder-avatar.large{width:96px;height:96px}.avatar-initial{background:var(--lime);color:var(--ink);font:800 22px Manrope}.avatar-initial.small{font-size:13px}.avatar-initial.large{font-size:36px}.nav-founder{display:flex;align-items:center;gap:8px}.founder-card-identity,.profile-preview,.founder-identity,.dashboard-founder-head{display:flex;align-items:center;gap:18px}.founder-card-identity{margin:10px 0}.founder-card-identity h3{margin:0}.profile-preview{margin:18px 0 24px;padding:16px;border:1px solid var(--line);border-radius:14px;background:#f8faf6}.profile-preview div{display:grid}.profile-preview span{color:var(--muted);font-size:13px}.founder-identity h1,.dashboard-founder-head h1{margin-top:8px}.founder-identity p{margin:8px 0;max-width:720px}
@media(max-width:560px){.nav-founder span{display:none}.founder-avatar.large{width:72px;height:72px}.dashboard-founder-head,.founder-identity{align-items:flex-start;gap:14px}}
.panel label .field-hint{color:var(--muted);font-size:13px;font-weight:400;line-height:1.4}.username-preview{color:var(--green);font-size:13px;font-weight:600;overflow-wrap:anywhere}
.language-field{display:grid;gap:6px;margin:14px 0;font-weight:600}.language-picker{position:relative}.language-picker summary{list-style:none;padding:13px;border:1px solid #cdd2ca;border-radius:9px;background:white;cursor:pointer}.language-picker summary::-webkit-details-marker{display:none}.language-picker summary:after{content:'⌄';float:right}.language-picker[open] summary{border-radius:9px 9px 0 0}.language-picker>div{position:absolute;z-index:4;width:100%;padding:8px;background:white;border:1px solid #cdd2ca;border-top:0;border-radius:0 0 9px 9px;box-shadow:0 12px 25px #17211c18}.language-picker label{display:flex;align-items:center;gap:9px;margin:0;padding:8px;border-radius:7px}.language-picker label:hover{background:#f3f5f0}.panel .language-picker input{width:18px;height:18px;padding:0;margin:0}.language-field>small{color:var(--muted);font-weight:400}

.review-note{margin:18px 0;padding:14px 18px;border-left:4px solid #d59a22;background:#fff4d8}
.review-note p{margin:4px 0}
.metrics.compact{grid-template-columns:repeat(2,1fr);max-width:600px}
.written-feedback{margin-top:28px}
.written-feedback blockquote{margin:10px 0;padding:15px;background:#f3f5f0;border-radius:10px}
.written-feedback small{display:block;color:var(--muted);margin-top:8px}
.funnel{display:grid;grid-template-columns:1fr auto 1fr auto 1fr;align-items:stretch;margin:28px 0;border:1px solid var(--line);border-radius:16px;overflow:hidden}.funnel>div{position:relative;padding:24px}.funnel strong{display:block;font:800 38px Manrope}.funnel h3{margin:2px 0}.funnel p{margin:7px 0 0;color:var(--muted);font-size:13px}.funnel-step{position:absolute;top:15px;right:16px;width:24px;height:24px;border-radius:50%;display:grid;place-items:center;background:#edf1e9;color:var(--green);font-size:11px;font-weight:700}.funnel-arrow{align-self:center;color:#95a098;font-size:24px}.next-step{display:grid;grid-template-columns:auto 1fr;gap:16px;align-items:start;margin:20px 0 35px;padding:18px 20px;border-left:4px solid var(--green);background:#eef5e9}.next-step span{padding:5px 9px;border-radius:99px;background:var(--lime);font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.next-step p{margin:2px 0;font-weight:600}.signal-heading{margin-bottom:14px}.signal-heading h3{margin:0 0 4px;font:800 20px Manrope}.signal-heading>p{max-width:520px;margin:0;color:var(--muted);font-size:13px}.signal-heading-member{margin-top:28px;padding-top:24px;border-top:1px solid var(--line)}.signal-grid{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line);border-radius:14px;overflow:hidden}.signal-grid-member{grid-template-columns:repeat(2,1fr)}.signal-grid>div{display:grid;padding:18px;border-right:1px solid var(--line)}.signal-grid>div:last-child{border:0}.signal-grid strong{font:800 28px Manrope}.signal-grid span{font-weight:700}.signal-grid small,.context-metrics small{color:var(--muted);font-size:12px;margin-top:4px}.context-metrics>div{display:grid}.context-metrics strong{grid-row:1}.context-metrics span{font-weight:600}
.share-unavailable{padding:15px 17px;border:1px dashed #c6ccc4;border-radius:11px;background:#f6f7f4}.share-unavailable strong{font-size:14px}.share-unavailable p{margin:4px 0 0;color:var(--muted);font-size:13px}
.dash-hero{display:grid;grid-template-columns:1.3fr 1fr;gap:18px;margin:24px 0 0}.dash-hero .next-step{margin:0}
.dash-hero-cta{display:grid;align-content:start;gap:10px;padding:20px 22px;border:1px solid var(--line);border-radius:14px;background:white}
.dash-hero-cta strong{font-size:15px}.dash-hero-cta p,.dash-hero-cta small{color:var(--muted);font-size:13px;margin:0}
.dash-hero-cta.pending{border-style:dashed;border-color:#c6ccc4;background:#f6f7f4}
.copybox.large input{padding:14px;font-size:15px}.copybox.large button{padding:0 22px;font-weight:700}
.signal-grid .signal-positive{background:#eaf6ea}.signal-grid .signal-neutral{background:#fff6df}.signal-grid .signal-caution{background:#f4f5f2}.signal-grid .signal-support{background:#f0fad4}
.dash-tabs{margin-top:30px}
.dash-tablist{display:flex;gap:8px;flex-wrap:wrap;padding-bottom:16px;margin-bottom:24px;border-bottom:1px solid var(--line)}
.dash-tab{padding:10px 16px;border:1px solid var(--line);border-radius:99px;background:white;font:700 13.5px inherit;color:var(--ink);cursor:pointer;transition:.15s}
.dash-tab:hover{border-color:var(--blue);background:#f4f5fc}
.dash-tab.active{color:white;background:var(--blue);border-color:var(--blue)}
.dash-tabpanel[hidden]{display:none}
@media(max-width:800px){.funnel{grid-template-columns:1fr}.funnel-arrow{justify-self:center;transform:rotate(90deg);height:22px}.signal-grid{grid-template-columns:1fr 1fr}.signal-grid>div{border-bottom:1px solid var(--line)}.dash-hero{grid-template-columns:1fr}.dash-tablist{gap:2px 16px}}
.panel .field-invalid{border-color:#c73b32;outline-color:#c73b32;background:#fff8f7}
.field-error{display:block;color:#b42318;font-size:13px;font-weight:600;line-height:1.4;margin-top:5px}
.destination>.field-error{margin:8px 0}
.consent>.field-error{grid-column:1/-1}
.primary-action{display:grid;gap:6px;justify-items:center}.primary-action small{max-width:230px;color:var(--muted);font-size:12px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.primary-action form{margin:0}.interest-dialog{width:min(540px,calc(100% - 32px));padding:34px;border:1px solid var(--line);border-radius:20px;background:white;color:var(--ink);box-shadow:0 24px 70px #17211c33}.interest-dialog::backdrop{background:#17211c66;backdrop-filter:blur(3px)}.interest-dialog h2{margin:10px 0}.interest-dialog form{display:grid;gap:10px;margin-top:20px}.interest-dialog input{padding:14px;border:1px solid var(--line);border-radius:10px;font:inherit}.dialog-close{position:absolute;top:14px;right:16px;border:0;background:transparent;font-size:28px;cursor:pointer}
.video-embed{position:relative;aspect-ratio:16/9;max-width:760px;margin:16px 0;border-radius:16px;overflow:hidden;background:black}.video-embed iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.video-play{position:absolute;inset:0;width:100%;height:100%;padding:0;border:0;cursor:pointer;background:black}.video-play img{width:100%;height:100%;object-fit:cover;opacity:.82;transition:opacity .15s}.video-play:hover img{opacity:1}.video-play-icon{position:absolute;inset:0;margin:auto;width:64px;height:64px;display:grid;place-items:center;border-radius:50%;background:#ff0000e6;color:white;font-size:22px;pointer-events:none}
.feedback-success-dialog{text-align:center}.feedback-success-dialog .success-mark{display:grid;place-items:center;width:58px;height:58px;margin:0 auto 16px;border-radius:50%;background:var(--lime);color:var(--green);font-size:30px;font-weight:800}.feedback-success-dialog p{color:var(--muted);margin-bottom:24px}

/* Product pages behave like compact branded landing pages, while sharing one MVP template. */
.product-page{--product-accent:#c9f36a;--product-soft:#edf8d5;--product-pop:#7765e8;padding-top:18px}
.product-theme-0{--product-accent:#c9f36a;--product-soft:#edf8d5;--product-pop:#28704a}.product-theme-1{--product-accent:#cdd8ff;--product-soft:#eef1ff;--product-pop:#5b65ca}.product-theme-2{--product-accent:#ffd0bd;--product-soft:#fff0e8;--product-pop:#d45e42}.product-theme-3{--product-accent:#ffe58e;--product-soft:#fff8dc;--product-pop:#876b0d}
.product-page .product-hero{margin:0 3vw;padding:34px 4vw 76px;border:1px solid rgba(23,33,28,.09);border-radius:30px;background:linear-gradient(135deg,var(--product-soft),#fff 72%);display:grid;grid-template-columns:minmax(0,1fr) auto;gap:24px 45px;overflow:hidden}
.product-page .crumb{grid-column:1/-1;color:var(--muted);font-size:13px}.product-page .crumb a{color:var(--product-pop);font-weight:700}
.product-page .product-title{align-items:flex-start}.product-page .product-logo{width:82px;height:82px;border:7px solid rgba(255,255,255,.75);box-shadow:0 12px 28px #17211c12;border-radius:22px}.product-page .product-title h1{font-size:clamp(50px,6vw,82px);max-width:760px}.product-page .product-title p{max-width:650px;font-size:clamp(19px,2vw,26px)}
.product-page .product-actions-bar .button.primary{background:var(--green);border-color:var(--green)}
.product-hero-preview{display:none}
.product-page .product-cover{position:relative;z-index:2;margin:-48px 6vw 24px;height:min(38vw,460px);border:10px solid white;border-radius:27px;box-shadow:0 28px 70px #17211c1c;background:var(--product-soft)}
.product-page .product-cover img{object-position:center}.product-page .public-signals{margin:20px 6vw 68px}.product-page .public-signals span{background:var(--product-soft);border-color:var(--product-accent);color:var(--ink)}
.product-page .media-gallery{padding:18px 6vw 30px;gap:18px}.product-page .media-gallery img{border-radius:18px;box-shadow:0 14px 35px #17211c12}
.product-page .product-main{margin:0 4vw;padding:55px 6vw;background:white;border:1px solid var(--line);border-radius:28px}.product-page .prose h2{font-size:clamp(34px,4vw,58px);letter-spacing:-.035em}.product-page .prose>p{font-size:18px;max-width:760px;white-space:pre-line}
.product-page .founder-strip{background:var(--product-soft);border:0}.product-page .founder-strip a{font-weight:700;color:var(--product-pop)}
.product-page .feedback-band .kicker{color:var(--product-pop)}.product-page .feedback-band .button.primary{background:var(--green);border-color:var(--green)}
.product-page>.section{padding-left:4vw;padding-right:4vw}

/* Template 1 (default, free tier): one calm card—full-bleed banner overlapped by a single white
   sheet, sections separated by hairlines only. No nested boxes/bands; that flatness is the design. */
.product-default-banner{width:100vw;margin-left:calc(50% - 50vw);height:260px;overflow:hidden;background:var(--product-soft)}
.product-default-banner img{width:100%;height:100%;object-fit:cover;display:block}
.product-default-banner-fallback{width:100%;height:100%;background:linear-gradient(120deg,var(--product-accent),var(--product-pop))}
.product-default-card{position:relative;z-index:1;max-width:920px;margin:-70px auto 60px;padding:0 40px 34px;background:white;border-radius:28px;box-shadow:0 30px 80px rgba(23,33,28,.16)}
.product-default-crumb{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:22px 0 18px;color:var(--muted);font-size:13px}
.product-default-crumb a{color:var(--green);font-weight:700}
.product-default-copy{border:1px solid var(--line);border-radius:99px;background:white;padding:6px 13px;font:700 12px inherit;color:var(--ink);cursor:pointer;white-space:nowrap}
.product-default-copy:hover{border-color:var(--ink)}
.product-default-copy.copied{color:var(--green);border-color:var(--green)}
.product-default-signals{display:flex;flex-wrap:wrap;gap:8px 18px;padding-bottom:18px;color:var(--muted);font-size:13px}
.product-default-signals strong{color:var(--ink)}
.product-default-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding-bottom:18px}
.product-default-identity{display:flex;gap:14px;align-items:center}
.product-default-identity .product-logo{width:56px;height:56px;border-radius:16px}
.product-default-identity h1{font:800 26px Manrope;letter-spacing:-.02em;margin:6px 0 0}
.product-default-identity .meta{display:flex;flex-wrap:wrap;gap:6px;font-size:11px}
.product-default-identity .meta span{padding:3px 9px;border:1px solid var(--line);border-radius:99px;color:var(--muted)}
.product-default-identity .featured-badge{color:var(--product-pop);border-color:var(--product-accent);font-weight:700}
.product-default-cta-compact .primary-action .button{padding:10px 20px;font-size:13px}
.product-default-cta-compact .inline-follow{margin-top:2px;width:300px}
.product-default-cta-compact .inline-follow input{padding:8px 10px;font-size:12.5px}
.product-default-cta-compact .inline-follow button{font-size:11.5px;padding:0 12px}
.product-default-tagline{color:var(--muted);font-size:15px;max-width:640px;margin:0 0 22px}
.product-default-section{padding:24px 0;border-top:1px solid var(--line)}
.product-default-section h3{font:800 15px Manrope;margin:0 0 10px;letter-spacing:-.01em}
.product-default-section p{color:var(--muted);font-size:14.5px;line-height:1.7;margin:0 0 10px;white-space:pre-line}
.product-default-section p:last-child{margin-bottom:0}
.product-default-features{display:grid;grid-template-columns:1fr 1fr;gap:9px 24px;margin:0;padding:0;list-style:none}
.product-default-features li{position:relative;padding-left:22px;font-size:14px;color:var(--ink)}
.product-default-features li:before{content:"✓";position:absolute;left:0;color:var(--green);font-weight:800}
.product-default-section#feedback .reactions{display:flex;gap:14px;margin-bottom:10px}
.product-default-section#feedback select,.product-default-section#feedback textarea{width:100%;max-width:520px;margin-bottom:10px;padding:10px 12px;border:1px solid var(--line);border-radius:10px;font:inherit}
.product-default-founder{display:flex;gap:16px;align-items:flex-start}
.product-default-founder .founder-card-identity{display:flex;align-items:center;gap:10px}
.product-default-founder .founder-card-identity h4{font:800 15px Manrope;margin:0}
.product-default-founder .founder-story{margin-top:10px}
.product-default-founder .copybox{max-width:400px;margin-top:14px}
.product-default-recs{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.product-default-rec{display:flex;align-items:center;gap:12px;padding:12px;border:1px solid var(--line);border-radius:14px;color:inherit;transition:.15s}
.product-default-rec:hover{border-color:var(--ink);transform:translateY(-1px)}
.product-default-rec img,.product-default-rec .cover-placeholder{width:42px;height:42px;border-radius:10px;object-fit:cover;flex-shrink:0}
.product-default-rec-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.product-default-rec-body strong{font-size:13.5px}
.product-default-rec-body small{color:var(--muted);font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.product-default-rec>i{color:var(--muted);font-style:normal;font-size:18px}
.product-default-cta{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-top:24px;border-top:1px solid var(--line)}
.product-default-cta strong{display:block;font:800 16px Manrope}
.product-default-cta small{color:var(--muted);font-size:13px}
.product-template-default .product-actions-bar{padding:0;margin:0;border:0;background:transparent;border-radius:0;align-items:flex-end;flex-shrink:0}

/* Template 2: Radiant 的左右分割 Hero，適合 B2B、顧問型與介面導向產品。 */
.product-template-bold .product-hero{grid-template-columns:minmax(0,.9fr) minmax(340px,1.1fr);grid-template-rows:auto 1fr auto;padding:34px 3vw;background:linear-gradient(135deg,var(--product-soft),var(--product-accent));border:0;border-radius:10px}
.product-template-bold .crumb{grid-column:1/-1}.product-template-bold .product-title{grid-column:1;grid-row:2}.product-template-bold .product-title h1{font-size:clamp(50px,5.6vw,86px);line-height:.9}.product-template-bold .product-title p{color:var(--ink);font-weight:600}.product-template-bold .product-logo{border-color:white;box-shadow:0 14px 35px #17211c18}
.product-template-bold .product-hero-preview{display:block;grid-column:2;grid-row:2/4;min-height:430px;border:10px solid rgba(255,255,255,.8);border-radius:24px;overflow:hidden;box-shadow:0 24px 55px #17211c1a}.product-template-bold .product-hero-preview img{width:100%;height:100%;object-fit:cover}
.product-template-bold>.product-cover{display:none}.product-template-bold .product-main{border-radius:10px 36px 10px 10px}.product-template-bold .founder-strip{background:white;border:2px solid var(--product-accent)}

/* Template 3: pre-launch pages center the promise and make the waitlist the hero. */
.product-template-coming_soon .product-hero{display:flex;flex-direction:column;align-items:center;text-align:center;padding-top:52px;background:radial-gradient(circle at 50% 18%,white 0 15%,var(--product-soft) 58%);border-radius:36px}
.product-template-coming_soon .crumb{align-self:flex-start}.product-template-coming_soon .product-title{display:grid;justify-items:center}.product-template-coming_soon .product-title .meta{justify-content:center}.product-template-coming_soon .product-title h1{font-size:clamp(56px,8vw,112px);max-width:980px}.product-template-coming_soon .product-title p{max-width:700px}.product-template-coming_soon .product-logo{width:104px;height:104px;border-radius:50%}
.product-template-coming_soon .product-actions-bar .button.primary{background:var(--green);padding:17px 28px}.product-template-coming_soon .product-cover{max-width:960px;margin:-36px auto 30px;height:min(47vw,520px);border-radius:30px}.product-template-coming_soon .feedback-band-inner,.product-template-coming_soon .product-main,.product-template-coming_soon .founder-strip{max-width:1120px;margin-left:auto;margin-right:auto}

/* Template 4: Showcase Gallery — 螢幕截圖優先，hero 精簡，大幅橫幅圖片直接接續密集截圖牆，適合視覺型產品。 */
.product-template-gallery .product-hero{padding:36px 4vw 0;border:0;background:none}
.product-template-gallery .product-title h1{font-size:clamp(34px,4.5vw,56px)}
.product-template-gallery .product-title p{font-size:18px}
.product-template-gallery.product-page .product-cover{margin:24px 0 0;height:min(42vw,480px);border:0;border-radius:0;box-shadow:none}
.product-template-gallery .media-gallery{margin:0;padding:0;grid-template-columns:repeat(4,1fr);gap:2px}
.product-template-gallery .media-gallery img{border-radius:0;box-shadow:none;height:160px}

/* Template 5: Founder Story — 用 order 把「Built by」拉到 hero 之後、產品圖之前，人物故事優先於畫面。 */
.product-template-story.product-page{display:flex;flex-direction:column}
.product-template-story .product-hero{order:1}
.product-template-story .public-signals{order:2}
.product-template-story .founder-strip{order:3}
.product-template-story.product-page .product-cover{order:4;margin-top:24px}
.product-template-story .media-gallery{order:5}
.product-template-story .feedback-band{order:6}
.product-template-story .product-main{order:7}
.product-template-story .recommendations{order:8}
.product-template-story .founder-strip{flex-direction:column;align-items:center;text-align:center;max-width:760px;margin:0 auto 10px;padding:48px 6vw;background:var(--product-soft);border:0;border-radius:0}
.product-template-story .founder-strip-block{flex:none;max-width:100%}
.product-template-story .founder-card-identity{justify-content:center}
.product-template-story .copybox{max-width:420px;margin:8px auto 0}
.product-template-story .founder-story{font:600 22px/1.5 Manrope;max-width:640px;margin:18px auto;color:var(--ink);text-align:left}
.product-template-story .founder-story strong{display:block;font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--product-pop);margin-bottom:8px}

/* Template 6: Reader Split — About 與 Built by 並排，後者變成閱讀時同步可見的側欄卡片。 */
.product-template-split.product-page{display:grid;grid-template-columns:minmax(0,1fr) 320px;column-gap:40px;align-items:start}
.product-template-split .product-hero,.product-template-split .public-signals,.product-template-split.product-page .product-cover,.product-template-split .media-gallery,.product-template-split .feedback-band,.product-template-split .recommendations{grid-column:1/-1}
.product-template-split .product-main{grid-column:1;margin:0 0 0 4vw}
.product-template-split .founder-strip{grid-column:2;flex-direction:column;position:sticky;top:24px;margin:0 4vw 0 0;align-self:start}
.product-template-split .founder-strip-block{flex:none}

/* Template 7: Editorial — 仿高質感建案型錄：襯線字體、每個 section 全寬跳色色塊、錯位圖片、深色 founder band。 */
.product-template-editorial{font-family:Georgia,'Iowan Old Style','Palatino Linotype','Book Antiqua',serif}
.product-template-editorial .product-hero{background:var(--product-soft);border:0;border-radius:0;margin:0;padding:70px 8vw 60px;display:block}
.product-template-editorial .crumb{font-family:'DM Sans',sans-serif;font-size:11px;text-transform:uppercase;letter-spacing:.12em}
.product-template-editorial .product-title{display:block}
.product-template-editorial .product-logo{display:none}
.product-template-editorial .meta{font-family:'DM Sans',sans-serif}
.product-template-editorial .meta .stage-badge{background:transparent;border:1px solid var(--ink);color:var(--ink)}
.product-template-editorial .product-title h1{font-size:clamp(46px,7vw,104px);font-weight:400;letter-spacing:0;margin:14px 0}
.product-template-editorial .product-title p{font-size:22px;font-style:italic;color:var(--ink);max-width:600px}
.product-template-editorial.product-page .product-cover{margin:0;height:min(48vw,560px);border:0;border-radius:0;box-shadow:none}
.product-template-editorial.product-page .media-gallery{background:var(--product-soft);margin:0;padding:70px 8vw;grid-template-columns:1fr 1fr;gap:50px}
.product-template-editorial .media-gallery img{border-radius:2px}
.product-template-editorial .media-gallery img:nth-child(even){margin-top:70px}
.product-template-editorial .feedback-band{background:white;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:0}
.product-template-editorial .product-actions-bar .button.primary{background:var(--ink);border-color:var(--ink)}
.product-template-editorial.product-page .product-main{background:var(--product-accent);border:0;border-radius:0;margin:0;padding:80px 8vw}
.product-template-editorial .prose{max-width:900px;margin:0 auto}
.product-template-editorial .prose h2{font-weight:400;font-style:italic;font-size:clamp(28px,3.4vw,46px);line-height:1.4;letter-spacing:0}
.product-template-editorial .feature-list li{font-family:'DM Sans',sans-serif}
.product-template-editorial.product-page .founder-strip{background:var(--ink);color:white;border:0;border-radius:0;margin:0;padding:80px 8vw;flex-direction:column;align-items:center;text-align:center}
.product-template-editorial .founder-strip-block{flex:none}
.product-template-editorial .founder-card-identity{flex-direction:column;justify-content:center;align-items:center}
.product-template-editorial .founder-avatar{width:96px;height:96px}
.product-template-editorial .founder-card-identity h3{font-style:italic;font-weight:400;font-size:28px;color:white}
.product-template-editorial .founder-strip a,.product-template-editorial .founder-strip label{color:white}
.product-template-editorial .founder-story{color:#d8d8d0;font-family:'DM Sans',sans-serif}
.product-template-editorial .founder-story strong{color:white}
.product-template-editorial .copybox{max-width:420px;margin:16px auto 0}

@media(max-width:900px){.product-page .product-hero,.product-template-bold .product-hero{grid-template-columns:1fr;grid-template-rows:auto}.product-template-bold .product-title{grid-column:1;grid-row:auto}.product-template-bold .product-hero-preview{grid-column:1;grid-row:auto;min-height:55vw}.product-page .product-cover{height:44vw}.feedback-band-inner{grid-template-columns:1fr}.product-template-gallery .media-gallery{grid-template-columns:repeat(2,1fr)}.product-template-split.product-page{grid-template-columns:1fr}.product-template-split .product-main{margin:0}.product-template-split .founder-strip{grid-column:1;position:static;margin:0}.product-default-card{margin:-60px 3vw 40px;max-width:none;padding:0 24px 26px}.product-default-recs{grid-template-columns:1fr}}
@media(max-width:560px){.product-page{padding-top:8px}.product-page .product-hero{margin:0 10px;padding:24px 18px 54px;border-radius:22px}.product-page .product-title{display:grid}.product-page .product-title h1{font-size:44px}.product-page .product-logo{width:68px;height:68px}.product-page .product-cover{margin:-30px 20px 20px;height:54vw;border-width:6px;border-radius:20px}.product-page .product-main{margin:0 12px;padding:40px 22px}.product-page .founder-strip{margin:25px 12px 40px}
.product-default-banner{height:170px}.product-default-card{margin:-40px 12px 30px;padding:0 18px 22px}.product-default-head{flex-direction:column;gap:14px}.product-default-cta-compact,.product-template-default .product-actions-bar{align-items:flex-start;width:100%}.product-default-cta-compact .inline-follow{width:100%}.product-default-features{grid-template-columns:1fr}.product-default-founder{flex-direction:column}.product-default-cta{flex-direction:column;align-items:flex-start}}
.notification-item{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:22px 24px;border:1px solid var(--line);border-radius:16px;background:white}.notification-item p,.notification-item time{color:var(--muted)}.notification-item p{margin:4px 0}.nav-count{display:inline-grid;place-items:center;min-width:20px;height:20px;padding:0 5px;border-radius:99px;background:var(--lime);font-size:11px}.interest-list-head{display:flex;justify-content:space-between;gap:20px;align-items:start}.interest-list-head form{margin:0}.public-signals{display:flex;gap:10px;flex-wrap:wrap;margin:-18px 6vw 28px}.public-signals span{padding:8px 12px;border:1px solid #b9d9bd;border-radius:99px;background:#e5f4e8;color:var(--green)}.discovery-filters{display:grid;grid-template-columns:repeat(3,minmax(150px,1fr));gap:12px;margin-top:28px;padding:18px;border:1px solid var(--line);border-radius:16px;background:white}.discovery-filters label{display:grid;gap:4px;font-size:13px;color:var(--muted)}.discovery-filters select,.discovery-filters input{padding:10px;border:1px solid var(--line);border-radius:9px;background:white}.discovery-filters .discovery-keyword{grid-column:1/-1}.discovery-keyword input{font-size:16px}.discovery-filters .button{align-self:end}.founder-links{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}.founder-links a{padding:8px 12px;border:1px solid var(--line);border-radius:99px;background:white;font-weight:700}@media(max-width:700px){.discovery-filters{grid-template-columns:1fr}.notification-item,.interest-list-head{display:grid}}
.editorial-hero{padding:80px 8vw 55px;border-bottom:1px solid var(--line)}.editorial-hero h1{font:800 clamp(52px,8vw,104px)/.95 Manrope;margin:16px 0;letter-spacing:-.055em}.editorial-hero p{max-width:720px;color:var(--muted);font-size:20px}.editorial-grid{display:grid;gap:24px;padding:55px 8vw}.editorial-card{display:grid;grid-template-columns:minmax(240px,.7fr) 1.3fr;gap:28px;padding:22px;background:white;border:1px solid var(--line);border-radius:20px}.editorial-cover{min-height:240px;border-radius:14px;overflow:hidden;background:#e5e9df}.editorial-cover img{width:100%;height:100%;object-fit:cover}.editorial-placeholder{display:grid;place-items:center;background:var(--lime)}.editorial-placeholder span{font:800 58px Manrope}.editorial-card h2{font:800 clamp(28px,4vw,48px)/1.05 Manrope;margin:18px 0 10px}.editorial-card p{max-width:680px;color:var(--muted)}.editorial-badge{display:inline-block;padding:6px 10px;border-radius:99px;background:#e5f4e8;color:var(--green);font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.08em}.editorial-card time{margin-left:10px;color:var(--muted);font-size:13px}.editorial-read{display:inline-block;margin-top:16px;font-weight:700}.editorial-article{max-width:940px;margin:auto;padding:70px 28px}.editorial-article-head>a{color:var(--muted)}.editorial-article-head .editorial-badge{display:table;margin-top:35px}.editorial-article-head h1{font:800 clamp(44px,7vw,82px)/1 Manrope;letter-spacing:-.05em;margin:18px 0}.editorial-article-head>p{font-size:21px;color:var(--muted)}.editorial-byline{display:flex;gap:16px;margin:24px 0 45px;color:var(--muted)}.editorial-video{aspect-ratio:16/9;margin:35px 0}.editorial-video iframe{width:100%;height:100%;border:0;border-radius:18px}.editorial-body{max-width:760px;margin:50px auto;font-size:18px}.editorial-body h2{font:800 36px/1.15 Manrope;margin:55px 0 16px}.editorial-body h3{font:800 25px Manrope;margin-top:38px}.editorial-body p,.editorial-body li{color:#35423b}.editorial-body li{margin:8px 0}.editorial-cta{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:55px 0;padding:28px;border-radius:18px;background:var(--lime)}.editorial-cta h2{margin:5px 0}.editorial-disclosure{padding:20px;border-left:4px solid var(--green);background:#eef2eb}.editorial-disclosure p{margin:5px 0;color:var(--muted)}
@media(max-width:700px){.editorial-banner{grid-template-columns:1fr auto;gap:10px 16px;margin:0 18px;padding:17px 18px}.editorial-banner-label{justify-self:start}.editorial-banner-copy{grid-column:1/-1;grid-row:2}.editorial-banner-link{grid-column:2;grid-row:1;font-size:13px}.editorial-banner-copy>span{font-size:13px}.editorial-card{grid-template-columns:1fr}.editorial-cover{min-height:190px}.editorial-cta{align-items:flex-start;flex-direction:column}.editorial-article{padding-top:45px}}

/* 可讀的角色分頁比抽象圓點更快把四類訪客導向對應轉換路徑。 */
.why-section .why-controls{grid-template-columns:36px minmax(0,1fr) 36px}
.why-section .why-dots{justify-content:flex-start;gap:5px;overflow-x:auto;scrollbar-width:none}
.why-section .why-dots::-webkit-scrollbar{display:none}
.why-section .why-dots button{width:auto;height:auto;white-space:nowrap;padding:7px 10px;border:1px solid transparent;background:transparent;color:var(--muted);font:700 10px Manrope}
.why-section .why-dots button[aria-selected=true]{width:auto;background:white;border-color:#cbd0c8;color:var(--ink)}
.why-section .why-dots button[aria-selected=true]{position:relative;overflow:hidden}.why-section .why-dots button[aria-selected=true]:after{content:"";position:absolute;left:0;bottom:0;width:100%;height:2px;background:var(--green);transform-origin:left;animation:why-progress 6s linear both}@keyframes why-progress{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@media(prefers-reduced-motion:reduce){.why-section .why-dots button[aria-selected=true]:after{animation:none;transform:scaleX(1)}}

/* Admin 電子報名單不可沿用登入卡片的 480px panel 寬度。 */
.panel.admin-subscribers{width:auto;max-width:none}
.consent-row{display:flex!important;align-items:flex-start!important;gap:12px;margin:12px 0 22px}.consent-row input{width:20px!important;height:20px!important;flex:0 0 auto;margin-top:2px}.consent-row span{display:grid;gap:4px}.consent-row small{color:var(--muted);font-weight:400}.newsletter-setting{margin:24px 0;padding:18px 20px;border:1px solid var(--line);border-radius:14px;background:#f8faf6}.newsletter-setting .consent-row{margin:0}.subscriber-state{display:inline-flex;padding:5px 9px;border-radius:99px;font-size:11px}.subscriber-state.active{background:#dff2e3;color:#17613a}.subscriber-state.inactive{background:#f3e4e1;color:#8d3a2f}
.export-head,.lead-actions{display:flex;align-items:center;gap:12px}.export-head{flex-wrap:wrap;justify-content:flex-end}.lead-actions form{margin:0}
@media(max-width:900px){.subscriber-row{grid-template-columns:1fr;gap:10px}.subscriber-heading{display:none}.subscriber-details{justify-content:flex-start}.subscriber-details time{width:100%;padding:8px 0 0;border-left:0;border-top:1px solid var(--line)}}

/* ---- Sponsors page: dark, editorial deck look — scoped so the rest of the site stays untouched. ---- */
.sponsors-page{--sp-bg:#0b0f0c;--sp-panel:#141914;--sp-line:rgba(255,255,255,.1);--sp-text:#f2f4ee;--sp-muted:#9aa39c;--sp-accent:#c9f36a;background:var(--sp-bg);color:var(--sp-text);margin:0 -6vw;padding:0 6vw}
.sponsors-page .sp-section{padding:80px 0;border-bottom:1px solid var(--sp-line)}
.sponsors-page .sp-final{border-bottom:0;text-align:center;padding-bottom:100px}
.sponsors-page .sp-section.reveal{opacity:0;transform:translateY(26px);transition:opacity .7s cubic-bezier(.22,.8,.3,1),transform .7s cubic-bezier(.22,.8,.3,1)}
.sponsors-page .sp-section.reveal.is-visible{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){.sponsors-page .sp-section.reveal{opacity:1;transform:none;transition:none}}
.sponsors-page .sp-eyebrow{display:block;font:800 11px Manrope;letter-spacing:.18em;color:var(--sp-accent);margin-bottom:22px}
.sponsors-page .sp-hero{padding-top:60px}
.sponsors-page .sp-hero h1{font:400 clamp(38px,5.4vw,68px)/1.08 Georgia,'Noto Serif TC',serif;letter-spacing:-.01em;margin:0 0 26px;max-width:920px}
.sponsors-page .sp-hero p{font-size:19px;color:var(--sp-muted);max-width:600px;margin:0 0 34px}
.sponsors-page .sp-cta{display:inline-flex;align-items:center;gap:8px;padding:15px 24px;border-radius:99px;background:var(--sp-accent);color:#0b0f0c;font-weight:800;text-decoration:none;transition:transform .15s,box-shadow .15s}
.sponsors-page .sp-cta:hover{transform:translateY(-2px);box-shadow:0 14px 32px rgba(201,243,106,.22)}
.sponsors-page .sp-cta i{font-style:normal;transition:transform .2s}
.sponsors-page .sp-cta:hover i{transform:translateX(3px)}
.sponsors-page .sp-cta-ghost{background:transparent;border:1px solid var(--sp-line);color:var(--sp-text)}
.sponsors-page .sp-cta-ghost:hover{border-color:var(--sp-accent);box-shadow:none}
.sponsors-page .sp-section-head{max-width:640px;margin-bottom:40px}
.sponsors-page .sp-section-head small{display:block;font:800 11px Manrope;letter-spacing:.16em;color:var(--sp-accent);margin-bottom:14px}
.sponsors-page .sp-section-head h2{font:400 clamp(28px,3.4vw,44px)/1.15 Georgia,'Noto Serif TC',serif;margin:0 0 14px}
.sponsors-page .sp-section-head p{color:var(--sp-muted);font-size:16px;line-height:1.6;margin:0}
.sponsors-page .sp-mockup{border-radius:18px;overflow:hidden;border:1px solid var(--sp-line);background:var(--sp-panel);box-shadow:0 30px 70px rgba(0,0,0,.35);margin-bottom:32px}
.sponsors-page .sp-mockup-chrome{display:flex;align-items:center;gap:6px;padding:12px 16px;border-bottom:1px solid var(--sp-line)}
.sponsors-page .sp-mockup-chrome span{width:9px;height:9px;border-radius:50%;background:#3a423a}
.sponsors-page .sp-mockup-chrome em{font-style:normal;margin:0 auto;font-size:12px;color:var(--sp-muted)}
.sponsors-page .sp-mockup-body{padding:28px}
.sponsors-page .sp-mockup-label{font:800 11px Manrope;letter-spacing:.1em;color:var(--sp-muted);margin-bottom:14px}
.sponsors-page .sp-mockup-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.sponsors-page .sp-mockup-cards .card{position:relative;margin:0}
.sponsors-page .sp-mockup-ghost{opacity:.35}
.sponsors-page .sp-sponsored-badge{position:absolute;z-index:1;top:10px;left:10px;padding:4px 10px;border-radius:99px;background:var(--sp-accent);color:#0b0f0c;font:800 10px Manrope;letter-spacing:.06em}
.sponsors-page .sp-mockup .cover-placeholder{background:linear-gradient(135deg,#dcf7a3,#b8ec52)}
.sponsors-page .sp-mockup-cards h3{color:var(--ink)}
.sponsors-page .sp-specs{list-style:none;margin:0;padding:0;display:grid;gap:1px;background:var(--sp-line);border:1px solid var(--sp-line);border-radius:14px;overflow:hidden}
.sponsors-page .sp-specs li{background:var(--sp-panel);padding:18px 22px;display:grid;grid-template-columns:140px 1fr;gap:18px;align-items:baseline}
.sponsors-page .sp-specs b{font:800 12px Manrope;letter-spacing:.06em;color:var(--sp-accent)}
.sponsors-page .sp-specs span{color:var(--sp-muted);font-size:15px}
.sponsors-page .sp-why-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.sponsors-page .sp-why-card{padding:26px;border:1px solid var(--sp-line);border-radius:16px;background:var(--sp-panel)}
.sponsors-page .sp-why-card>span{display:grid;place-items:center;width:38px;height:38px;border-radius:10px;background:rgba(201,243,106,.14);color:var(--sp-accent);font-size:17px;margin-bottom:16px}
.sponsors-page .sp-why-card h3{font:800 18px Manrope;margin:0 0 8px}
.sponsors-page .sp-why-card p{color:var(--sp-muted);font-size:14px;line-height:1.6;margin:0}
.sponsors-page .sp-cases-card{padding:34px;border:1px dashed var(--sp-line);border-radius:16px;display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap}
.sponsors-page .sp-cases-card p{color:var(--sp-muted);font-size:16px;margin:0;max-width:460px}
.sponsors-page .sp-final h2{font:400 clamp(28px,3.6vw,46px)/1.15 Georgia,'Noto Serif TC',serif;margin:0 0 28px}
@media(max-width:900px){.sponsors-page .sp-why-grid{grid-template-columns:1fr}.sponsors-page .sp-mockup-cards{grid-template-columns:1fr}.sponsors-page .sp-specs li{grid-template-columns:1fr}.sponsors-page .sp-cases-card{flex-direction:column;align-items:flex-start}}
@media(max-width:560px){.sponsors-page{margin:0 -18px;padding:0 18px}.sponsors-page .sp-section{padding:56px 0}}
