/* Marketing v2 — scoped under .mkt2. Generated from the prototype; do not edit by hand. */
@font-face{
  font-family:"GleamStar Serif";
  src:url("/static/fonts/gleamstar-serif-500.woff2") format("woff2");
  font-style:normal;
  font-weight:var(--ui-weight-medium);
  font-display:swap;
}
.mkt2{
    --bg:#FFFFFF;
    --surface:#e4e4e7;
    --ink:#3f3f46;
    --ink-2:#52525b;
    --ink-3:#52525b;
    --line:#e4e4e7;
    --line-2:#a1a1aa;
    --accent:#3f3f46;
    --accent-deep:#000000;
    --font-sans:"GleamStar Inter","Noto Sans SC","PingFang SC","Microsoft YaHei UI",system-ui,sans-serif;
    --font-serif:"GleamStar Serif","Noto Serif SC","Songti SC","SimSun",serif;
    --font-mono:"GleamStar Inter","SFMono-Regular",Consolas,monospace;
    --container:1240px;
    --gutter:44px;
  }.mkt2 *, .mkt2 *::before, .mkt2 *::after{box-sizing:border-box}.mkt2{scroll-behavior:smooth;-webkit-text-size-adjust:100%}.mkt2{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font-sans);font-size:var(--ui-text-reading);line-height:1.7;-webkit-font-smoothing:antialiased;font-variant-numeric:tabular-nums}.mkt2 a{color:inherit;text-decoration:none}.mkt2 button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer}.mkt2 img, .mkt2 svg, .mkt2 video{display:block;max-width:100%}.mkt2 h1, .mkt2 h2, .mkt2 h3, .mkt2 p, .mkt2 ul, .mkt2 ol, .mkt2 figure, .mkt2 figcaption{margin:0;padding:0}.mkt2 li{list-style:none}.mkt2 ::selection{background:rgba(17,18,20,.12)}.mkt2 :focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:var(--ui-radius-xs)}.mkt2 .wrap{width:min(var(--container), 100% - var(--gutter) * 2);margin-inline:auto}.mkt2 .nav{position:sticky;top:0;z-index:40;background:rgba(255,255,255,.9);border-bottom:1px solid var(--line);backdrop-filter:blur(14px)}.mkt2 .nav__inner{height:72px;display:flex;align-items:center;gap:30px}.mkt2 .brand img{height:32px;width:auto}.mkt2 .nav__links{display:flex;gap:26px;margin-left:24px}.mkt2 .nav__link{font-size:var(--ui-text-control);color:var(--ink-2);transition:color .16s}.mkt2 .nav__link:hover, .mkt2 .nav__link[aria-current="page"]{color:var(--ink)}.mkt2 .nav__actions{margin-left:auto;display:flex;align-items:center;gap:10px}.mkt2 .lang{display:inline-flex;align-items:center;justify-content:center;height:34px;padding:0 12px;border:1px solid var(--line-2);border-radius:999px;font-size:var(--ui-text-caption);line-height:1;color:var(--ink-2);text-align:center}.mkt2 .login{display:inline-flex;align-items:center;justify-content:center;height:34px;padding:0 16px;border-radius:999px;background:var(--ink);color:#fff;font-size:var(--ui-text-control);font-weight:var(--ui-weight-medium);line-height:1}.mkt2 .login:hover{background:#2A2C31}.mkt2 .label{display:flex;align-items:center;gap:10px;font-family:var(--font-mono);font-size:var(--ui-text-caption);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3)}.mkt2 .label b{color:var(--accent);font-weight:var(--ui-weight-medium)}.mkt2 .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.mkt2 body.accent-mono .hero h1 em{color:var(--ink)}.mkt2 body.accent-mono .label b{color:var(--ink-3)}.mkt2 body.accent-mono .cta .btn--blue{background:var(--ink)}.mkt2 body.accent-mono .prompt:focus-within{border-color:var(--ink);box-shadow:var(--ui-focus-ring)}.mkt2 body.accent-green{--accent:#1E5A4B;--accent-deep:#164539}.mkt2 body.accent-clay{--accent:#A8462D;--accent-deep:#8C3822}.mkt2 .h2{font-family:var(--font-serif);font-weight:var(--ui-weight-medium);font-size:clamp(28px,3.1vw,42px);line-height:1.26;letter-spacing:.005em}.mkt2 a.btn{text-decoration:none}.mkt2 .btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:48px;padding:0 24px;border-radius:var(--ui-radius-md);font-size:var(--ui-text-body);font-weight:var(--ui-weight-medium);white-space:nowrap;transition:background .16s,color .16s,border-color .16s,transform .12s}.mkt2 .btn:active{transform:translateY(1px)}.mkt2 .btn--ink{background:var(--ink);color:#fff}.mkt2 .btn--ink:hover{background:#2A2C31}.mkt2 .btn--blue{background:var(--accent);color:#fff}.mkt2 .btn--blue:hover{background:var(--accent-deep)}.mkt2 .btn--line{border:1px solid var(--line-2);color:var(--ink)}.mkt2 .btn--line:hover{border-color:var(--ink)}.mkt2 .hero{padding:56px 0 40px}.mkt2 .hero__grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:56px;align-items:start}.mkt2 .hero h1{margin-top:22px;font-family:var(--font-serif);font-weight:var(--ui-weight-medium);font-size:clamp(40px,4.6vw,64px);line-height:1.16;letter-spacing:.005em}.mkt2 .hero h1 em{font-style:normal;color:var(--accent)}.mkt2 .hero__sub{margin-top:20px;max-width:30em;font-size:var(--ui-text-reading);line-height:1.8;color:var(--ink-2)}.mkt2 .prompt{display:flex;align-items:center;gap:10px;margin-top:28px;max-width:560px;padding:8px;border:1px solid var(--line-2);border-radius:var(--ui-radius-lg);background:linear-gradient(180deg,#FFFFFF,#FCFCFD);box-shadow:var(--shadow-prompt);transition:border-color .18s,box-shadow .18s}.mkt2 .prompt:hover{border-color:var(--ink-3)}.mkt2 .prompt:focus-within{border-color:var(--accent);box-shadow:var(--shadow-prompt-focus)}.mkt2 .prompt input{flex:1;min-width:0;height:44px;border:0;outline:none;padding:0 6px;background:transparent;font-size:var(--ui-text-body);color:var(--ink)}.mkt2 .prompt input::placeholder{color:var(--ink-3)}.mkt2 .prompt .btn{height:44px;padding:0 18px;border-radius:11px;gap:8px;box-shadow:var(--shadow-prompt-button)}.mkt2 .hero__foot{margin-top:24px;display:flex;align-items:center;gap:10px;font-size:var(--ui-text-caption);color:var(--ink-3);flex-wrap:wrap}.mkt2 .hero__foot i{width:4px;height:4px;border-radius:50%;background:var(--line-2)}.mkt2 .hero__media{position:relative;width:100%;max-width:clamp(380px,33vw,480px);justify-self:end;align-self:start;margin-top:24px}.mkt2 .hero__main{position:relative;overflow:hidden}.mkt2 .hero__main .hero__layers{position:relative;width:100%;aspect-ratio:1/1;overflow:hidden;background:#E7EDEA;animation:kenburns 26s ease-in-out infinite alternate}.mkt2 .hero__layer{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.mkt2 .hero__media .sub{position:absolute;left:-24px;top:-24px;width:146px;aspect-ratio:1/1;object-fit:cover;border:8px solid var(--bg);box-shadow:var(--shadow-media)}.mkt2 .chip{position:absolute;left:14px;bottom:14px;display:inline-flex;align-items:center;gap:8px;height:30px;padding:0 11px;border-radius:var(--ui-radius-sm);background:rgba(255,255,255,.94);font-size:var(--ui-text-caption)}.mkt2 .chip span{font-family:var(--font-mono);font-size:var(--ui-text-caption);color:var(--ink-3)}@keyframes kenburns{from{transform:scale(1)}to{transform:scale(1.06)}}@media (max-height:840px) and (min-width:1001px){.mkt2 .hero{padding:36px 0 28px}.mkt2 .hero__media{max-width:400px;margin-top:8px}
  }.mkt2 html.lang-en .hero h1{font-size:clamp(34px,4vw,56px);line-height:1.1;max-width:13em}.mkt2 html.lang-en .hero__sub{max-width:36em}.mkt2 html.lang-en .nav__links{gap:30px}.mkt2 .strip{padding:0 0 64px}.mkt2 .strip__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.mkt2 .clip{position:relative;overflow:hidden;background:#F2F2F3}.mkt2 .clip video{width:100%;aspect-ratio:16/9;object-fit:cover;display:block}.mkt2 .clip span{position:absolute;left:10px;bottom:10px;padding:4px 9px;border-radius:var(--ui-radius-sm);background:rgba(255,255,255,.94);font-size:var(--ui-text-caption);color:var(--ink)}.mkt2 .caps{padding:0 0 56px}.mkt2 .caps__list{display:flex;flex-wrap:wrap;gap:8px}.mkt2 .caps__list li{font-size:var(--ui-text-caption);color:var(--ink-2);border:1px solid var(--line);border-radius:999px;padding:6px 12px;background:#fff}.mkt2 .motion{padding:72px 0;border-top:1px solid var(--line)}.mkt2 .motion__grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:56px;align-items:center}.mkt2 .motion--flip .motion__grid{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr)}.mkt2 .motion--flip .motion__text{order:-1}.mkt2 .motion video{width:100%;border:1px solid var(--line);border-radius:var(--ui-radius-lg);background:#e4e4e7}.mkt2 .multiview{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;align-items:center}.mkt2 .multiview__item{margin:0;aspect-ratio:2/3;overflow:visible;padding:14px 0;background:transparent}.mkt2 .multiview__item img{width:100%;height:100%;object-fit:contain;transform-origin:50% 50%;animation:breathe 7.4s ease-in-out infinite alternate;will-change:transform}.mkt2 .multiview__item:nth-child(2) img{animation-duration:8.6s;animation-delay:-1.8s}.mkt2 .multiview__item:nth-child(3) img{animation-duration:7.9s;animation-delay:-3.2s}@keyframes breathe{
    from{transform:scale(1) translate3d(0,0,0)}
    to{transform:scale(1.018) translate3d(0,-3px,0)}
  }.mkt2 .layers-wrap{position:relative;padding:0 0 48px}.mkt2 .layers-stage{position:relative;width:100%;max-width:400px;margin:0 auto;aspect-ratio:2/3}.mkt2 .layers-stage__layer{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;pointer-events:none;transition:transform .95s cubic-bezier(.2,.7,.2,1),filter .6s;will-change:transform}.mkt2 .layers-stage.in .layers-stage__layer--bg{transform:translate(-16%,6%) scale(.96)}.mkt2 .layers-stage.in .layers-stage__layer--woman{transform:translate(-2%,-6%) scale(.99);filter:drop-shadow(0 28px 44px rgba(17,18,20,.22))}.mkt2 .layers-stage.in .layers-stage__layer--bag{transform:translate(14%,4%) rotate(3deg) scale(1.01);filter:drop-shadow(0 28px 44px rgba(17,18,20,.22))}.mkt2 .layers-wrap:hover .layers-stage__layer{transform:none;filter:none}.mkt2 .layers-legend{display:flex;justify-content:center;gap:22px;margin-top:0;font-size:var(--ui-text-caption);color:var(--ink-2)}.mkt2 .layers-legend b{font-family:var(--font-mono);font-weight:var(--ui-weight-medium);color:var(--ink-3);margin-right:5px}.mkt2 .motion h2{margin-top:12px}.mkt2 .motion p{margin-top:12px;font-size:var(--ui-text-body);line-height:1.8;color:var(--ink-2);max-width:26em}.mkt2 .tags{display:flex;gap:8px;flex-wrap:wrap;margin-top:18px}.mkt2 .tags span{font-size:var(--ui-text-caption);color:var(--ink-2);border:1px solid var(--line-2);border-radius:999px;padding:4px 10px}.mkt2 .gallery{padding:72px 0;border-top:1px solid var(--line)}.mkt2 .gallery__head{display:flex;align-items:flex-end;justify-content:space-between;gap:32px;margin-bottom:28px}.mkt2 .gallery__head p{font-size:var(--ui-text-control);color:var(--ink-3);max-width:24em}.mkt2 .shots{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.mkt2 .shot{position:relative;overflow:hidden;background:#F2F2F3}.mkt2 .shot img{width:100%;height:100%;object-fit:cover;transition:transform .5s cubic-bezier(.2,.7,.2,1)}.mkt2 .shot:hover img{transform:scale(1.04)}.mkt2 .shot figcaption{position:absolute;left:9px;bottom:9px;display:inline-flex;align-items:baseline;gap:6px;padding:4px 8px;border-radius:var(--ui-radius-xs);background:rgba(255,255,255,.94);font-size:var(--ui-text-caption)}.mkt2 .shot figcaption span{font-family:var(--font-mono);font-size:var(--ui-text-caption);color:var(--ink-3)}.mkt2 .shot--p{aspect-ratio:4/5}.mkt2 .shot--w{grid-column:span 2;aspect-ratio:16/9}.mkt2 .shot--s{aspect-ratio:1/1}.mkt2 .toolbox{padding:72px 0;border-top:1px solid var(--line)}.mkt2 .toolbox__head{display:flex;align-items:flex-end;justify-content:space-between;gap:32px;margin-bottom:28px}.mkt2 .toolbox__head p{font-size:var(--ui-text-control);color:var(--ink-3);max-width:24em}.mkt2 .tools{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:12px}.mkt2 .tool{border:1px solid var(--line);border-radius:var(--ui-radius-md);overflow:hidden;background:#fff}.mkt2 .tool__media{position:relative;aspect-ratio:4/3;background:#F2F2F3;overflow:hidden}.mkt2 .tool figcaption{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;font-size:var(--ui-text-caption);color:var(--ink-2)}.mkt2 .tool figcaption span{font-family:var(--font-mono);font-size:var(--ui-text-caption);color:var(--ink-3)}.mkt2 .compare{position:absolute;inset:0;--pos:50%}.mkt2 .compare img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.mkt2 .compare__low{clip-path:inset(0 calc(100% - var(--pos)) 0 0);filter:blur(3px) saturate(.85)}.mkt2 .compare__line{position:absolute;top:0;bottom:0;left:var(--pos);width:1px;background:#fff;box-shadow:var(--ui-focus-ring)}.mkt2 .compare__range{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:ew-resize}.mkt2 .compare__tag{position:absolute;bottom:8px;font-size:var(--ui-text-caption);color:#3f3f46;background:rgba(255,255,255,.92);padding:2px 7px;border-radius:var(--ui-radius-xs)}.mkt2 .compare__tag--l{left:8px}.mkt2 .compare__tag--r{right:8px}.mkt2 .cutout{position:absolute;inset:0;background:conic-gradient(#e4e4e7 25%, #FFFFFF 0 50%, #e4e4e7 0 75%, #FFFFFF 0) 0 0/18px 18px}.mkt2 .cutout img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;padding:7%}.mkt2 .tool--vector img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.mkt2 .tool--vector.in img{animation:wipe 1.3s cubic-bezier(.3,.7,.2,1) both}@keyframes wipe{from{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0 0 0 0)}}.mkt2 .canvas-panel.in .canvas-card--selected{animation:none}@keyframes accentPulse{0%,100%{stroke-width:1}50%{stroke-width:2}}.mkt2 .canvas-anim{padding:72px 0;border-top:1px solid var(--line)}.mkt2 .canvas-anim__head{display:flex;align-items:flex-end;justify-content:space-between;gap:32px;margin-bottom:26px}.mkt2 .canvas-anim__head p{font-size:var(--ui-text-control);color:var(--ink-3);max-width:24em}.mkt2 .canvas-panel{overflow-x:auto;border:1px solid var(--line);border-radius:var(--ui-radius-lg);background:
    radial-gradient(circle at 1px 1px, #e4e4e7 1px, transparent 1px) 0 0/22px 22px, #e4e4e7;padding:18px}.mkt2 .canvas-panel svg{width:100%;height:auto}.mkt2 .canvas-card{fill:#fff;stroke:#e4e4e7;stroke-width:1;filter:url(#cardShadow)}.mkt2 .canvas-card--selected{stroke:#3f3f46;stroke-width:1.4}.mkt2 .canvas-title{font-weight:var(--ui-weight-medium);font-size:var(--ui-text-control);font-family:var(--font-sans);fill:#3f3f46}.mkt2 .canvas-meta{font-size:var(--ui-text-caption);font-family:var(--font-sans);fill:#52525b}.mkt2 .canvas-port{fill:#fff;stroke:#a1a1aa;stroke-width:1.2}.mkt2 .canvas-handle{fill:#fff;stroke:#3f3f46;stroke-width:1.2}.mkt2 .canvas-toolbar{fill:#fff;stroke:#e4e4e7;stroke-width:1}.mkt2 .canvas-tool-icon{stroke:#52525b;stroke-width:1.4;fill:none;stroke-linecap:round;stroke-linejoin:round}.mkt2 .canvas-zoom{font-size:var(--ui-text-caption);font-family:var(--font-mono);fill:#52525b}.mkt2 .edge{stroke:#a1a1aa;stroke-width:1.2;fill:none}.mkt2 .edge--active{stroke:#3f3f46;stroke-width:1.4;fill:none}.mkt2 .canvas-panel .edge{stroke-dasharray:460;stroke-dashoffset:460}.mkt2 .canvas-panel.in .edge{animation:draw 2.2s cubic-bezier(.2,.7,.2,1) forwards}.mkt2 .canvas-panel.in .edge--active{animation-delay:.35s}@keyframes draw{to{stroke-dashoffset:0}}.mkt2 .canvas-hint{display:none;margin-top:10px;font-size:var(--ui-text-caption);color:var(--ink-3)}.mkt2 .batch{padding:72px 0;border-top:1px solid var(--line)}.mkt2 .batch__grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:56px;align-items:center}.mkt2 .batch__count{font-family:var(--font-serif);font-size:56px;line-height:1;color:var(--ink)}.mkt2 .batch__count small{font-family:var(--font-mono);font-size:var(--ui-text-reading);color:var(--ink-3)}.mkt2 .tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.mkt2 .tile{position:relative;overflow:hidden;aspect-ratio:1/1;background:#e4e4e7}.mkt2 .tile::after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,#e4e4e7 30%,#e4e4e7 50%,#e4e4e7 70%);background-size:200% 100%;animation:shimmer 1.2s linear infinite;transition:opacity .35s}.mkt2 .tile img{width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .5s ease}.mkt2 .batch.in .tile::after{opacity:0;animation:none}.mkt2 .batch.in .tile img{opacity:1;transition-delay:calc(var(--i,0) * 70ms)}@keyframes shimmer{from{background-position:200% 0}to{background-position:-200% 0}}.mkt2 .steps{padding:72px 0;border-top:1px solid var(--line)}.mkt2 .steps__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;margin-top:36px}.mkt2 .step b{font-family:var(--font-serif);font-size:40px;font-weight:var(--ui-weight-medium);color:var(--ink-3);line-height:1}.mkt2 .step h3{margin-top:12px;font-size:var(--ui-text-heading);font-weight:var(--ui-weight-medium)}.mkt2 .step p{margin-top:4px;font-size:var(--ui-text-control);color:var(--ink-2)}.mkt2 .cta{padding:84px 0;border-top:1px solid var(--line);background:var(--surface)}.mkt2 .cta__inner{display:flex;align-items:flex-end;justify-content:space-between;gap:40px;flex-wrap:wrap}.mkt2 .cta h2{margin-top:12px;font-family:var(--font-serif);font-weight:var(--ui-weight-medium);font-size:clamp(30px,3.3vw,46px);line-height:1.3}.mkt2 .cta__actions{display:flex;gap:12px;flex-wrap:wrap}.mkt2 .footer{padding:32px 0 40px;border-top:1px solid var(--line)}.mkt2 .footer__inner{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.mkt2 .footer img{height:22px;width:auto}.mkt2 .footer nav{display:flex;gap:20px;margin-left:auto;flex-wrap:wrap}.mkt2 .footer nav a{font-size:var(--ui-text-caption);color:var(--ink-3)}.mkt2 .footer nav a:hover{color:var(--ink)}.mkt2 .footer small{width:100%;font-size:var(--ui-text-caption);color:var(--ink-3)}.mkt2 [data-reveal]{opacity:0;transform:translateY(14px);transition:opacity .6s cubic-bezier(.2,.7,.2,1),transform .6s cubic-bezier(.2,.7,.2,1);transition-delay:calc(var(--i,0) * 60ms)}.mkt2 [data-reveal].is-in{opacity:1;transform:none}@media (prefers-reduced-motion:reduce){.mkt2{scroll-behavior:auto}.mkt2 *, .mkt2 *::before, .mkt2 *::after{animation:none!important;transition:none!important}.mkt2 [data-reveal]{opacity:1;transform:none}.mkt2 .tile{opacity:1;transform:none}.mkt2 .tile img{opacity:1}.mkt2 .tool--vector img{clip-path:none;animation:none}.mkt2 .multiview__item img{animation:none}.mkt2 .layers-stage__layer{transition:none}.mkt2 .canvas-panel.in .canvas-card--selected{animation:none}
  }@media (max-width:1000px){.mkt2{--gutter:28px}.mkt2 .hero__grid{grid-template-columns:1fr;gap:44px}.mkt2 .hero__media{max-width:480px;justify-self:start}.mkt2 .hero__media .sub{left:auto;right:-14px;top:-14px;width:120px}.mkt2 .strip__grid{grid-template-columns:1fr 1fr}.mkt2 .motion__grid, .mkt2 .motion--flip .motion__grid{grid-template-columns:1fr;gap:28px}.mkt2 .motion--flip .motion__text{order:-1}.mkt2 .shots{grid-template-columns:repeat(2,minmax(0,1fr))}.mkt2 .shot--w{grid-column:span 2}.mkt2 .batch__grid{grid-template-columns:1fr;gap:28px}.mkt2 .tools{grid-template-columns:1fr 1fr}
  }@media (max-width:760px){.mkt2 .nav__links{display:none}.mkt2 .toolbox__head{flex-direction:column;align-items:flex-start;gap:10px}.mkt2 .toolbox__head p{max-width:none}.mkt2 .multiview{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;margin:0 calc(var(--gutter) * -1);padding:0 var(--gutter) 10px;scrollbar-width:none}.mkt2 .multiview::-webkit-scrollbar{display:none}.mkt2 .multiview__item{flex:0 0 58%;scroll-snap-align:center}.mkt2 .layers-stage.in .layers-stage__layer--bg{transform:none}.mkt2 .layers-stage.in .layers-stage__layer--woman{transform:translateY(-2%) scale(.995)}.mkt2 .layers-stage.in .layers-stage__layer--bag{transform:translateY(2%) scale(1.005)}.mkt2 .hero{padding:44px 0}.mkt2 .hero h1{font-size:38px}.mkt2 .strip__grid{grid-template-columns:1fr}.mkt2 .motion, .mkt2 .gallery, .mkt2 .canvas-anim, .mkt2 .batch, .mkt2 .steps{padding:56px 0}.mkt2 .gallery__head, .mkt2 .canvas-anim__head, .mkt2 .cta__inner{flex-direction:column;align-items:flex-start;gap:10px}.mkt2 .steps__grid{grid-template-columns:1fr;gap:24px}.mkt2 .tools{grid-template-columns:1fr}.mkt2 .canvas-panel svg{min-width:900px}.mkt2 .canvas-hint{display:block}.mkt2 .cta{padding:60px 0}
  }@media (max-width:520px){.mkt2{--gutter:18px}.mkt2 .shots{grid-template-columns:1fr}.mkt2 .shot--w{grid-column:span 1}.mkt2 .prompt .btn{flex:none}.mkt2 .footer nav{margin-left:0}
  }


/* page-level overrides for the marketing v2 home */
body.marketing-v2{background:#FFFFFF;color:#111213;}
body.marketing-v2 .mkt2{min-height:100vh;}


/* ---------- login dialog (brand v2) ---------- */
body.marketing-body .marketing-login-overlay{
  background:rgba(17,18,20,.44);
  backdrop-filter:blur(10px);
  padding:28px;
}
body.marketing-body .marketing-login-dialog{
  width:min(1040px,100%);
  max-height:min(720px,calc(100vh - 56px));
  border-radius:var(--ui-radius-lg);
  background:#FFFFFF;
  border:1px solid #ECECEF;
  box-shadow:var(--shadow-dialog);
  overflow:hidden;
}
body.marketing-body .marketing-login-showcase{
  position:relative;
  isolation:isolate;
  background:#F5F3EE url("/static/marketing/v2/login-light-study.webp") center/cover no-repeat;
  padding:40px 38px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  gap:24px;
}
body.marketing-body .login-showcase-brand img{height:30px;width:auto}


body.marketing-body .login-showcase-copy .marketing-kicker{
  font-family:var(--font-mono);
  font-size:var(--ui-text-caption);
  letter-spacing:.12em;
  text-transform:uppercase;
  color:#6A7077;
}
body.marketing-body .login-showcase-copy h2{
  margin:10px 0 0;
  font-family:var(--font-serif);
  font-weight:var(--ui-weight-medium);
  font-size:34px;
  line-height:1.25;
  color:#111213;
}
body.marketing-body .marketing-login-form-side{padding:38px 44px;display:flex;align-items:center}
body.marketing-body .marketing-login-form-wrap{width:100%}
body.marketing-body .auth-panel-head{margin-bottom:18px}
body.marketing-body .auth-panel-title{
  font-family:var(--font-serif);
  font-weight:var(--ui-weight-medium);
  font-size:31px;
  line-height:1.25;
  color:#111213;
  margin:0;
}
body.marketing-body .auth-panel-subtitle{margin:8px 0 0;font-size:var(--ui-text-control);line-height:1.7;color:#4B5057}
body.marketing-body .login-form label{display:block;margin-top:16px}
body.marketing-body .login-form label>span{display:block;margin-bottom:8px;font-size:var(--ui-text-caption);color:#4B5057}
body.marketing-body .login-form input{
  width:100%;
  height:46px;
  padding:0 14px;
  border:1px solid #E3E4E7;
  border-radius:10px;
  background:#FFFFFF;
  font-size:var(--ui-text-body);
  color:#111213;
  transition:border-color .16s,box-shadow .16s;
}
body.marketing-body .login-form input::placeholder{color:#9AA0A6}
body.marketing-body .login-form input:focus{
  outline:none;
  border-color:#111213;
  box-shadow:0 0 0 3px rgba(17,18,20,.08);
}
body.marketing-body .login-inline-actions{margin-top:10px;display:flex;justify-content:flex-end}
body.marketing-body .auth-inline-link,
body.marketing-body .auth-footer-link{
  color:#4B5057;
  font-size:var(--ui-text-caption);
  text-decoration:none;
  border-bottom:1px solid #D3D4D7;
  padding-bottom:1px;
  background:none;
}
body.marketing-body .auth-inline-link:hover,
body.marketing-body .auth-footer-link:hover{color:#111213;border-color:#111213}
body.marketing-body .login-form-hint{margin:14px 0 0;font-size:var(--ui-text-caption);line-height:1.7;color:#6A7077}
body.marketing-body .login-form .primary-button.full-width{
  width:100%;
  height:46px;
  margin-top:18px;
  border:0;
  border-radius:10px;
  background:#111213;
  color:#FFFFFF;
  font-size:var(--ui-text-body);
  font-weight:var(--ui-weight-medium);
}
body.marketing-body .login-form .primary-button.full-width:hover{background:#2A2C31}
body.marketing-body .auth-panel-footer{margin:16px 0 0;text-align:center;font-size:var(--ui-text-caption);color:#6A7077}
body.marketing-body .marketing-login-close{
  top:16px;
  right:16px;
  width:32px;
  height:32px;
  border-radius:50%;
  border:1px solid #E7E7E9;
  background:#FFFFFF;
  color:#4B5057;
  font-size:var(--ui-text-heading);
  line-height:1;
}
body.marketing-body .login-code-row{display:flex;gap:8px}
body.marketing-body .login-code-button{height:46px;border-radius:var(--ui-radius-md);border:1px solid #E3E4E7;border-radius:10px;background:#FFFFFF;padding:0 14px;font-size:var(--ui-text-caption);color:#111213;white-space:nowrap}
@media (max-width:900px){
  body.marketing-body .marketing-login-dialog{max-height:calc(100vh - 32px);border-radius:var(--ui-radius-lg)}
  body.marketing-body .marketing-login-showcase{display:none}
  body.marketing-body .marketing-login-form-side{padding:28px 22px}
  body.marketing-body .auth-panel-title{font-size:26px}
}

body.marketing-body{--shadow-dialog:0 40px 120px -48px rgba(17,18,20,.45);--font-serif:"GleamStar Serif","Noto Serif SC","Songti SC","SimSun",serif;--font-mono:"GleamStar Inter","SFMono-Regular",Consolas,monospace;}

@media (max-width:900px){
  body.marketing-body .marketing-login-dialog{height:auto;max-height:calc(100vh - 32px)}
  body.marketing-body .marketing-login-form-side{padding:26px 20px;align-items:flex-start}
}

body.marketing-v2::before{display:none!important}

/* standalone /login page: reuse the auth dialog as the page body */
body.marketing-login-page{background:#F7F7F8;overflow:auto}
body.marketing-login-page.login-modal-open{overflow:auto}
body.marketing-login-page .marketing-login-overlay{
  position:static;
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:100vh;
  padding:40px 20px;
  background:transparent;
  backdrop-filter:none;
}
body.marketing-login-page .marketing-login-dialog{
  width:min(1040px,100%);
  max-height:none;
  box-shadow:var(--shadow-dialog);
}
body.marketing-login-page .marketing-login-close{display:none}
@media (max-width:900px){
  body.marketing-login-page .marketing-login-overlay{padding:24px 18px;align-items:center}
  body.marketing-login-page .marketing-login-dialog{width:100%;min-height:0;border-radius:var(--ui-radius-lg)}
}

body.marketing-body .marketing-login-showcase::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  background:linear-gradient(180deg,rgba(255,255,255,.58) 0%,rgba(255,255,255,.34) 42%,rgba(247,245,240,.88) 100%);
}
body.marketing-body .marketing-login-showcase > *{position:relative;z-index:1}

body.marketing-v2{overflow-x:clip}
.mkt2 .canvas-panel{scrollbar-width:none}
.mkt2 .canvas-panel::-webkit-scrollbar{display:none}

/* discover */
.mkt2 .nav__link.is-active{color:var(--ink);font-weight:var(--ui-weight-medium)}
.mkt2 .discover{padding:64px 0 92px}
.mkt2 .discover__head{max-width:880px}
.mkt2 .discover h1{font-family:var(--font-serif);font-weight:var(--ui-weight-medium);font-size:clamp(40px,5.4vw,64px);line-height:1.12;margin-top:16px;letter-spacing:-.01em}
.mkt2 .discover__lead{margin-top:14px;max-width:36em;font-size:var(--ui-text-reading);line-height:1.8;color:var(--ink-2)}
.mkt2 .public-discover-toolbar{display:flex;flex-wrap:wrap;justify-content:flex-start;width:100%;gap:8px;margin-top:30px}
.mkt2 .public-discover-filter{height:34px;padding:0 14px;border:1px solid var(--line-2);border-radius:999px;background:#fff;color:var(--ink-2);font-size:var(--ui-text-caption);transition:border-color .16s,color .16s,background .16s}
.mkt2 .public-discover-filter:hover{border-color:var(--ink);color:var(--ink)}
.mkt2 .public-discover-filter.active{background:var(--ink);border-color:var(--ink);color:#fff}
.mkt2 .public-discover-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:24px}
.mkt2 .public-discover-card{position:relative;margin:0;aspect-ratio:4/5;border-radius:var(--ui-radius-md);overflow:hidden;background:#F2F2F3}
.mkt2 .public-discover-art{position:absolute;inset:0}
.mkt2 .public-discover-art img{display:block;width:100%;height:100%;object-fit:cover}
.mkt2 .public-discover-empty{margin:64px 0;text-align:center;color:var(--ink-3);font-size:var(--ui-text-body)}
.mkt2 .public-discover-sentinel{height:1px}
.mkt2 .public-discover-card-loading .public-discover-art{background:linear-gradient(100deg,#F2F2F3 20%,#FAFAFA 40%,#F2F2F3 60%);background-size:200% 100%;animation:discoverShimmer 1.4s linear infinite}
@keyframes discoverShimmer{to{background-position:-200% 0}}
@media (max-width:1000px){.mkt2 .public-discover-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:760px){.mkt2 .discover{padding:48px 0 72px}.mkt2 .discover h1{font-size:40px}.mkt2 .public-discover-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}}

/* compact mobile auth */
@media (max-width:900px){
  body.marketing-body .marketing-login-overlay{padding:16px}
  body.marketing-body .marketing-login-dialog{border-radius:var(--ui-radius-lg)}
  body.marketing-body .marketing-login-form-side{padding:22px 18px}
  body.marketing-body .auth-panel-head{margin-bottom:12px}
  body.marketing-body .auth-panel-title{font-size:24px}
  body.marketing-body .auth-panel-subtitle{font-size:var(--ui-text-caption);line-height:1.6;margin-top:6px}
  body.marketing-body .login-form label{margin-top:12px}
  body.marketing-body .login-form label>span{margin-bottom:6px;font-size:var(--ui-text-caption)}
  body.marketing-body .login-form input{height:42px;font-size:var(--ui-text-control)}
  body.marketing-body .login-form-hint{font-size:var(--ui-text-caption);line-height:1.6;margin-top:10px}
  body.marketing-body .login-form .primary-button.full-width{height:44px;margin-top:14px}
  body.marketing-body .auth-panel-footer{margin-top:12px;font-size:var(--ui-text-caption)}
  body.marketing-body .login-inline-actions{margin-top:6px}
  body.marketing-body .auth-inline-link, body.marketing-body .auth-footer-link{font-size:var(--ui-text-caption)}
}
@media (max-width:900px) and (max-height:700px){
  body.marketing-body .marketing-login-form-side{padding:18px 16px}
  body.marketing-body .login-form label{margin-top:9px}
  body.marketing-body .login-form input{height:40px}
  body.marketing-body .login-form .primary-button.full-width{height:42px;margin-top:10px}
}

/* Compact mobile auth: keep the prototype form on one screen. */
@media (max-width: 900px) {
  body.marketing-body .marketing-login-overlay { padding: 16px; }
  body.marketing-body .marketing-login-dialog { border-radius: 14px; }
  body.marketing-body .marketing-login-form-side { padding: 20px 18px; }
  body.marketing-body .login-form { gap: 4px; }
  body.marketing-body .auth-panel-head { margin-bottom: 10px; }
  body.marketing-body .auth-panel-title { font-size: 24px; }
  body.marketing-body .auth-panel-subtitle {
    margin-top: 6px;
    font-size: var(--ui-text-caption);
    line-height: 1.6;
  }
  body.marketing-body .login-form label { margin-top: 12px; }
  body.marketing-body .login-form label > span {
    margin-bottom: 6px;
    font-size: var(--ui-text-caption);
  }
  body.marketing-body .login-form input {
    height: 42px;
    font-size: var(--ui-text-control);
  }
  body.marketing-body .login-form-hint {
    margin-top: 8px;
    font-size: var(--ui-text-caption);
    line-height: 1.6;
  }
  body.marketing-body .login-form .primary-button.full-width {
    height: 44px;
    min-height: 44px;
    margin-top: 12px;
  }
  body.marketing-body .auth-panel-footer {
    margin-top: 8px;
    font-size: var(--ui-text-caption);
  }
  body.marketing-body .login-inline-actions { margin-top: 6px; }
  body.marketing-body .auth-inline-link,
  body.marketing-body .auth-footer-link { font-size: var(--ui-text-caption); }
  body.marketing-login-page .marketing-login-overlay { padding: 16px; }
}

@media (max-width: 900px) and (max-height: 700px) {
  body.marketing-body .marketing-login-form-side { padding: 18px 16px; }
  body.marketing-body .login-form label { margin-top: 9px; }
  body.marketing-body .login-form input { height: 40px; }
  body.marketing-body .login-form .primary-button.full-width {
    height: 42px;
    min-height: 42px;
    margin-top: 10px;
  }
}

/* Mobile login modal: keep the card compact and centered instead of a
   full-height white sheet with dead space below the form. */
@media (max-width: 560px) {
  body.marketing-body .marketing-login-overlay {
    padding: 16px;
    align-items: center;
  }
  body.marketing-body .marketing-login-dialog {
    width: min(100%, 520px);
    height: auto;
    min-height: 0;
    max-height: calc(100dvh - 32px);
    border: 1px solid #ECECEF;
    border-radius: 16px;
  }
}

/* Narrow screens: the hero prompt/media were keeping a 348px min-content
   width, which widened the whole page and produced a horizontal scrollbar
   when the login dialog opened. Let both grid children shrink. */
@media (max-width: 1000px) {
  .mkt2 .hero__grid > * {
    min-width: 0;
  }
  .mkt2 .prompt {
    width: 100%;
    min-width: 0;
  }
  .mkt2 .hero__media {
    min-width: 0;
    max-width: 100%;
  }
}
