:root{--bg: #f7f6f3;--bg2: #f0eee9;--surface: #ffffff;--surface2: #f6f5f1;--line: #e7e4dd;--line2: #d9d5cc;--ink: #0b1220;--ink2: #2a3346;--muted: #586174;--dim: #8a92a3;--amber: #f2a516;--amber2: #e07b12;--amber-ink: #a95f06;--amber-soft: #fdf0d6;--blue: #3b5bdb;--blue-soft: #e8edff;--green: #16a34a;--grad: linear-gradient(120deg, #f7b733 0%, #f29c1f 45%, #e07b12 100%);--serif-grad: linear-gradient(100deg, #c47a08 0%, #b2620a 55%, #9a4c0b 100%);--radius: 16px;--radius-lg: 24px;--shadow-sm: 0 1px 2px rgba(11, 18, 32, .04), 0 6px 18px -8px rgba(11, 18, 32, .1);--shadow: 0 2px 6px rgba(11, 18, 32, .04), 0 26px 60px -28px rgba(11, 18, 32, .22);--shadow-lg: 0 3px 10px rgba(11, 18, 32, .05), 0 44px 100px -40px rgba(11, 18, 32, .34);--head: "Inter Tight", "Inter", system-ui, -apple-system, "Segoe UI", sans-serif;--serif: "Instrument Serif", "Iowan Old Style", Georgia, serif;--body: "Inter", system-ui, -apple-system, "Segoe UI", sans-serif;--wrap: 1200px;color-scheme:light}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{margin:0;background:var(--bg);color:var(--ink);font:400 16px/1.65 var(--body);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden}img,video,iframe{display:block;max-width:100%}img{height:auto}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}h1,h2,h3,h4{font-family:var(--head);font-weight:600;line-height:1.08;margin:0;letter-spacing:-.025em}p{margin:0}b,strong{font-weight:600}::selection{background:#fbe1a6;color:var(--ink)}:focus-visible{outline:2px solid var(--blue);outline-offset:3px;border-radius:6px}.wrap{width:100%;max-width:var(--wrap);margin:0 auto;padding:0 24px}.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}.skip{position:absolute;left:-999px;top:8px;background:var(--ink);color:#fff;padding:8px 14px;border-radius:8px;z-index:100}.skip:focus{left:8px}.bg-glow{position:fixed;top:0;right:0;bottom:0;left:0;z-index:-1;pointer-events:none;background:radial-gradient(1000px 520px at 92% -6%,rgba(247,183,51,.1),transparent 62%),radial-gradient(900px 560px at -8% 8%,rgba(91,124,250,.08),transparent 60%),var(--bg)}.bg-grid{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;overflow:hidden;z-index:0;background-image:linear-gradient(rgba(11,18,32,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(11,18,32,.045) 1px,transparent 1px);background-size:64px 64px;-webkit-mask-image:radial-gradient(ellipse 70% 80% at 50% 0%,#000 20%,transparent 72%);mask-image:radial-gradient(ellipse 70% 80% at 50% 0%,#000 20%,transparent 72%)}.page-head:before,.page-head:after{content:"";position:absolute;border-radius:50%;pointer-events:none;z-index:0;filter:blur(60px)}.page-head:before{width:560px;height:460px;right:-140px;top:-220px;background:#f7b73361}.page-head:after{width:620px;height:420px;left:-260px;top:-160px;background:#6e8cff42}.blobs{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;overflow:hidden;z-index:0}.blob{position:absolute;border-radius:50%;filter:blur(70px);opacity:.9;animation:drift 18s ease-in-out infinite alternate}.blob.b1{width:620px;height:520px;right:-120px;top:-180px;background:#f7b7336b}.blob.b2{width:640px;height:480px;left:-220px;top:40px;background:#6e8cff4d;animation-delay:-6s}.blob.b3{width:520px;height:420px;left:38%;top:380px;background:#ffc4784d;animation-delay:-12s}@keyframes drift{0%{transform:translateZ(0) scale(1)}to{transform:translate3d(40px,30px,0) scale(1.08)}}.nav{position:sticky;top:0;z-index:50}.nav:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;pointer-events:none;background:#f7f6f3d1;backdrop-filter:saturate(170%) blur(14px);-webkit-backdrop-filter:saturate(170%) blur(14px);border-bottom:1px solid var(--line);opacity:0;transition:opacity .3s}.nav.scrolled:before{opacity:1}.nav-in{display:flex;align-items:center;gap:28px;height:72px}.logo{display:flex;align-items:center;gap:11px;font:700 18px var(--head);letter-spacing:-.02em;color:var(--ink)}.logo-mark{flex:none;width:38px;height:38px;border-radius:11px;overflow:hidden;box-shadow:0 6px 16px -8px #0b122080;background:#13204a}.logo-mark img{width:100%;height:100%}.logo small{display:block;font:500 11.5px var(--body);color:var(--muted);letter-spacing:0;margin-top:1px}.nav-links{display:flex;gap:4px;margin-left:auto}.nav-links a{padding:8px 14px;border-radius:10px;color:var(--ink2);font-weight:500;font-size:15px;transition:color .2s,background .2s}.nav-links a:hover,.nav-links a.active{color:var(--ink);background:#0b12200e}.nav-cta{margin-left:8px}.burger{display:none;margin-left:auto;width:44px;height:44px;border-radius:12px;border:1px solid var(--line2);background:var(--surface)}.burger span{display:block;width:18px;height:2px;background:var(--ink);margin:4px auto;border-radius:2px;transition:transform .3s,opacity .3s}.burger.open span:nth-child(1){transform:translateY(6px) rotate(45deg)}.burger.open span:nth-child(2){opacity:0}.burger.open span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}.mobile-menu{display:none}.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;height:50px;padding:0 22px;border-radius:12px;font:600 15px var(--head);letter-spacing:-.005em;border:1px solid transparent;transition:transform .2s,box-shadow .2s,background .2s,border-color .2s,color .2s;white-space:nowrap}.btn:hover{transform:translateY(-2px)}.btn-primary{background:var(--ink);color:#fff;box-shadow:0 1px #ffffff1f inset,0 12px 28px -12px #0b12208c}.btn-primary:hover{background:#18223a;box-shadow:0 1px #ffffff1f inset,0 18px 36px -14px #0b122099}.btn-primary svg{color:var(--amber)}.btn-ghost{background:var(--surface);border-color:var(--line2);color:var(--ink);box-shadow:var(--shadow-sm)}.btn-ghost:hover{border-color:var(--ink)}.btn-sm{height:42px;padding:0 16px;font-size:14.5px;border-radius:11px}.btn svg{width:18px;height:18px}.text-link{display:inline-flex;align-items:center;gap:6px;font:600 14.5px var(--head);color:var(--ink);border-bottom:1px solid var(--line2);padding-bottom:2px;transition:border-color .2s,color .2s}.text-link:hover{border-color:var(--amber);color:var(--amber-ink)}.text-link svg{width:15px;height:15px}.section{padding:112px 0;position:relative}.section-tight{padding:56px 0;position:relative}.eyebrow{display:inline-flex;align-items:center;gap:8px;height:30px;padding:0 12px;border-radius:999px;background:var(--surface);border:1px solid var(--line);box-shadow:0 1px 2px #0b12200a;font:600 12.5px var(--body);letter-spacing:.01em;color:var(--ink2)}.eyebrow:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--amber);box-shadow:0 0 0 3px #f2a5162e}.h2{font-size:clamp(34px,4.6vw,58px);font-weight:600;margin-top:16px;letter-spacing:-.04em;line-height:1.03}.lead{color:var(--muted);font-size:18px;max-width:640px;margin-top:18px;line-height:1.6}.center{text-align:center}.center .lead{margin-left:auto;margin-right:auto}.grad-text{font-family:var(--serif);font-style:italic;font-weight:400;letter-spacing:-.01em;font-size:1.08em;line-height:inherit;padding-right:.08em;background:var(--serif-grad);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-box-decoration-break:clone;box-decoration-break:clone}.head-row{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;flex-wrap:wrap;margin-bottom:48px}.chip{display:inline-flex;align-items:center;gap:8px;height:32px;padding:0 13px;border-radius:999px;background:var(--surface);border:1px solid var(--line);font:600 12.5px var(--body);color:var(--ink2);white-space:nowrap;box-shadow:0 1px 2px #0b12200a}.chip .dot{width:8px;height:8px;border-radius:50%}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.rise{animation:rise .8s cubic-bezier(.2,.7,.2,1) both}.rise.r1{animation-delay:.06s}.rise.r2{animation-delay:.13s}.rise.r3{animation-delay:.2s}.rise.r4{animation-delay:.3s}@keyframes rise{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}.js .reveal{opacity:0;transform:translateY(26px);transition:opacity .8s cubic-bezier(.2,.7,.2,1),transform .8s cubic-bezier(.2,.7,.2,1)}.js .reveal.in{opacity:1;transform:none}.js .reveal.d1{transition-delay:.08s}.js .reveal.d2{transition-delay:.16s}.js .reveal.d3{transition-delay:.24s}@media (prefers-reduced-motion: reduce){.rise,.blob,.fchip,.phone-frame{animation:none!important}.js .reveal{opacity:1;transform:none;transition:none}html{scroll-behavior:auto}}.hero{position:relative;padding:72px 0 40px;overflow:hidden}.hero-center{position:relative;z-index:1;text-align:center;display:flex;flex-direction:column;align-items:center}.badge-row{display:flex;gap:10px;flex-wrap:wrap;justify-content:center}.badge{display:inline-flex;align-items:center;gap:8px;height:34px;padding:0 14px;border-radius:999px;font:600 13px var(--body);background:#ffffffd9;border:1px solid var(--line);box-shadow:0 1px 2px #0b12200d;color:var(--ink2);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.badge-amber .star{color:var(--amber);font-size:14px}.badge-live{color:#15803d}.pulse{width:8px;height:8px;border-radius:50%;background:var(--green);box-shadow:0 0 #16a34a8c;animation:pulse 2s infinite}@keyframes pulse{0%{box-shadow:0 0 #16a34a8c}70%{box-shadow:0 0 0 9px #16a34a00}to{box-shadow:0 0 #16a34a00}}.hero h1{font-size:clamp(44px,6.6vw,88px);font-weight:600;margin-top:26px;letter-spacing:-.05em;line-height:.98;max-width:1140px;text-wrap:balance}.hero p.lead{font-size:19px;margin-top:26px;max-width:660px}.hero-ctas{display:flex;gap:12px;margin-top:34px;flex-wrap:wrap}.hero-center .hero-ctas{justify-content:center}.hero-proof{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:26px;color:var(--muted);font-size:14.5px;flex-wrap:wrap}.hero-proof b{color:var(--ink)}.stars{color:var(--amber);letter-spacing:2px;font-size:15px}.stage{position:relative;z-index:1;max-width:1120px;margin:64px auto 0;aspect-ratio:1120 / 580}.bw{position:absolute;background:#fff;border-radius:14px;overflow:hidden;border:1px solid rgba(11,18,32,.08);box-shadow:var(--shadow-lg)}.bw-bar{display:flex;align-items:center;gap:6px;height:30px;padding:0 12px;background:#f5f4f0;border-bottom:1px solid var(--line)}.bw-bar i{width:9px;height:9px;border-radius:50%;background:#d6d3cb}.bw-bar i:nth-child(1){background:#ff5f57}.bw-bar i:nth-child(2){background:#febc2e}.bw-bar i:nth-child(3){background:#28c840}.bw-bar .u{margin:0 auto;width:46%;height:18px;border-radius:6px;background:#fff;border:1px solid var(--line);font:500 10.5px var(--body);color:var(--dim);display:flex;align-items:center;justify-content:center;overflow:hidden;white-space:nowrap}.bw img{width:100%;aspect-ratio:16 / 10;object-fit:cover;object-position:top}.bw.main{left:20%;width:60%;top:0;z-index:3;transition:transform .5s cubic-bezier(.2,.7,.2,1)}.bw.main:hover{transform:translateY(-6px)}.bw.side{width:40%;top:15%;z-index:2}.bw.side.l{left:0}.bw.side.r{right:0}.ph{position:absolute;z-index:4;border-radius:26px;padding:5px;background:#0b1220;box-shadow:var(--shadow-lg),0 0 0 1px #ffffff0f inset}.ph img{width:100%;border-radius:21px;aspect-ratio:9 / 18.6;object-fit:cover;object-position:top}.ph.p1{right:11%;bottom:0;width:13.5%}.ph.p2{left:12%;bottom:5%;width:12%}.fchip{position:absolute;z-index:5;display:flex;align-items:center;gap:10px;padding:10px 14px;border-radius:14px;background:#fffffff0;border:1px solid var(--line);box-shadow:var(--shadow);font:500 13px var(--body);color:var(--ink2);white-space:nowrap;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);animation:floaty 7s ease-in-out infinite}.fchip b{color:var(--ink);font:600 14px var(--head)}.fchip .ic{width:30px;height:30px;border-radius:9px;display:grid;place-items:center;background:var(--amber-soft);color:var(--amber-ink);font-size:15px}.fchip.c1{left:1%;top:2%}.fchip.c2{right:2%;top:5%;animation-delay:-2.5s}.fchip.c3{left:50%;bottom:1%;transform:translate(-50%);animation:none;gap:14px;padding:10px 16px}.fchip.c3 .icons{display:flex;gap:10px;align-items:center}.fchip.c3 .icons svg{width:19px;height:19px}.live-dot{width:8px;height:8px;border-radius:50%;background:var(--green);box-shadow:0 0 0 3px #16a34a29}@keyframes floaty{0%,to{translate:0 0}50%{translate:0 -8px}}.trusted-label{text-align:center;color:var(--muted);font-size:14px;font-weight:500;margin-bottom:22px}.logos{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:22px;overflow:hidden;box-shadow:var(--shadow-sm)}.logo-cell{display:grid;place-items:center;min-height:92px;padding:14px 18px;background:var(--surface);text-align:center;font:600 17.5px/1.2 var(--head);letter-spacing:-.02em;color:#5f6779;transition:color .2s,background .2s}.logo-cell:hover{color:var(--ink);background:#fffdf8}a.logo-cell{color:var(--amber-ink);font-size:15.5px;gap:6px;display:flex;align-items:center;justify-content:center}a.logo-cell svg{width:16px;height:16px}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.stat{padding:28px 26px;border-radius:20px;background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-sm);position:relative;overflow:hidden}.stat:before{content:"";position:absolute;left:26px;top:0;width:36px;height:3px;border-radius:0 0 3px 3px;background:var(--grad)}.stat b{display:block;font:600 clamp(32px,3.6vw,48px) var(--head);letter-spacing:-.045em;line-height:1.1}.stat span{color:var(--muted);font-size:14.5px}.answer{padding:26px 30px;border-left:3px solid var(--amber)}.answer p{margin-top:14px;font-size:17px;color:var(--ink2)}.byline{margin-top:14px;font-size:13.5px;color:var(--dim)}.byline a{color:var(--amber-ink);font-weight:600}.facts{padding:10px 28px;margin:0}.facts>div{display:grid;grid-template-columns:180px 1fr;gap:18px;padding:15px 0;border-bottom:1px solid var(--line)}.facts>div:last-child{border-bottom:0}.facts dt{font-weight:600;color:var(--ink);font-family:var(--head)}.facts dd{margin:0;color:var(--ink2)}@media (max-width: 640px){.facts>div{grid-template-columns:1fr;gap:4px}.answer{padding:22px}}a.service{display:block;color:inherit}.svc-more{display:inline-flex;align-items:center;gap:8px;margin-top:20px;font:600 14px var(--head);color:var(--ink)}.svc-more svg{width:16px;height:16px;color:var(--amber-ink);transition:transform .25s}a.service:hover .svc-more svg{transform:translate(3px)}.svc-intro{display:grid;grid-template-columns:1.4fr 1fr;gap:40px;align-items:start}.svc-tools{padding:28px}.svc-tools h2{font-size:19px;font-weight:600}.svc-tools .tags{margin-top:14px}.svc-win{display:flex;gap:12px;margin-top:22px;color:var(--ink2);font-size:15px}.svc-win svg{flex:none;width:22px;height:22px;color:var(--amber-ink);margin-top:1px}@media (max-width: 860px){.svc-intro{grid-template-columns:1fr;gap:24px}}.stack{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.stack-group{padding:26px}.stack-group h3{font-size:19px;font-weight:600}.stack-group .tags{margin-top:14px}.wins{margin-top:18px;padding:30px 32px}.wins h3{font-size:20px;font-weight:600;margin-bottom:6px}.wins .checks{margin-top:14px}@media (max-width: 1080px){.stack{grid-template-columns:repeat(2,1fr)}}@media (max-width: 640px){.stack{grid-template-columns:1fr}.wins{padding:22px}}.services{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.service{padding:30px;transition:transform .3s,border-color .3s,box-shadow .3s}a.service:hover{transform:translateY(-4px);border-color:#f2a5168c;box-shadow:var(--shadow)}.service-ic{width:50px;height:50px;border-radius:14px;display:grid;place-items:center;background:var(--surface2);border:1px solid var(--line);margin-bottom:22px}.service-ic svg{width:25px;height:25px}.service h3{font-size:21px;font-weight:600;letter-spacing:-.03em}.service p{color:var(--muted);margin-top:10px;font-size:15.5px}.tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}.tag{font:500 12.5px var(--body);color:var(--ink2);padding:5px 10px;border-radius:8px;background:var(--surface2);border:1px solid var(--line)}.work-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.work-card{display:block;border-radius:22px;overflow:hidden;background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-sm);transition:transform .35s cubic-bezier(.2,.7,.2,1),border-color .3s,box-shadow .35s}.work-card:hover{transform:translateY(-6px);box-shadow:var(--shadow);border-color:var(--line2)}.work-shot{position:relative;aspect-ratio:16 / 11;overflow:hidden;background:linear-gradient(150deg,#fff3dc,#fbe2b3)}.work-grid>:nth-child(4n+2) .work-shot:not(.fig){background:linear-gradient(150deg,#edf1ff,#d9e2ff)}.work-grid>:nth-child(4n+3) .work-shot:not(.fig){background:linear-gradient(150deg,#f3eeff,#e3d9ff)}.work-grid>:nth-child(4n+4) .work-shot:not(.fig){background:linear-gradient(150deg,#eaf6ef,#d3ecdd)}.work-shot .browser{position:absolute;left:7%;top:10%;width:80%;border-radius:10px;overflow:hidden;background:#fff;border:1px solid rgba(11,18,32,.08);box-shadow:0 2px 6px #0b12200f,0 22px 44px -20px #0b122073;transition:transform .5s cubic-bezier(.2,.7,.2,1)}.browser-bar{display:flex;align-items:center;gap:5px;height:18px;padding:0 8px;background:#f5f4f0;border-bottom:1px solid var(--line)}.browser-bar i{width:6px;height:6px;border-radius:50%;background:#d6d3cb}.browser-bar i:nth-child(1){background:#ff5f57}.browser-bar i:nth-child(2){background:#febc2e}.browser-bar i:nth-child(3){background:#28c840}.work-shot .browser img{width:100%;aspect-ratio:16 / 10;object-fit:cover;object-position:top}.work-shot .phone{position:absolute;right:5%;bottom:-7%;width:23%;border-radius:17px;overflow:hidden;border:4px solid #0b1220;background:#0b1220;box-shadow:0 24px 40px -16px #0b12208c;transition:transform .5s cubic-bezier(.2,.7,.2,1)}.work-shot .phone img{width:100%;aspect-ratio:9 / 18;object-fit:cover;object-position:top;border-radius:12px}.work-card:hover .browser{transform:translateY(-4px) scale(1.015)}.work-card:hover .phone{transform:translateY(-10px)}.work-meta{padding:20px 22px 22px;display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.work-meta h3{font-size:19.5px;font-weight:600;letter-spacing:-.03em}.work-meta p{color:var(--muted);font-size:14px;margin-top:4px}.arrow-ic{flex:none;width:38px;height:38px;border-radius:12px;display:grid;place-items:center;border:1px solid var(--line);color:var(--ink2);transition:all .25s}.work-card:hover .arrow-ic,.case-card:hover .arrow-ic{background:var(--ink);border-color:var(--ink);color:#fff;transform:rotate(-45deg)}.arrow-ic svg{width:16px;height:16px}.case-list{display:grid;gap:26px;margin-bottom:26px}.case-card{display:block;border-radius:28px;overflow:hidden;background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-sm);transition:box-shadow .35s,transform .35s cubic-bezier(.2,.7,.2,1)}.case-card:hover{box-shadow:var(--shadow);transform:translateY(-4px)}.case-shot{position:relative;aspect-ratio:16 / 7;overflow:hidden;background:linear-gradient(140deg,#fff4de,#fbe0ad 55%,#f6cf8d)}.case-list>:nth-child(2) .case-shot{background:linear-gradient(140deg,#eef2ff,#d9e2ff 55%,#c5d2ff)}.case-list>:nth-child(3) .case-shot{background:linear-gradient(140deg,#f4efff,#e4d9ff 55%,#d4c5fb)}.case-shot:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(500px 300px at 85% 0%,rgba(255,255,255,.55),transparent 70%);pointer-events:none}.case-shot .bw{left:6%;top:11%;width:62%;z-index:1;box-shadow:0 3px 10px #0b12200f,0 40px 80px -36px #0b122080;transition:transform .6s cubic-bezier(.2,.7,.2,1)}.case-shot .ph{right:9%;top:13%;bottom:auto;left:auto;width:17%;z-index:2;transition:transform .6s cubic-bezier(.2,.7,.2,1)}.case-card:hover .case-shot .bw{transform:translateY(-8px)}.case-card:hover .case-shot .ph{transform:translateY(-14px)}.case-shot .fig-badge{z-index:3;left:18px;top:18px}.case-body{display:grid;grid-template-columns:.85fr 1.15fr;gap:40px;padding:30px 34px 32px;align-items:start}.case-body h3{font-size:clamp(24px,2.4vw,30px);font-weight:600;letter-spacing:-.035em}.case-body .meta{color:var(--muted);font-size:14.5px;margin-top:6px}.case-body .desc{color:var(--ink2);font-size:16.5px}.case-foot{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:18px;flex-wrap:wrap}.case-foot .tags{margin-top:0}.filters{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-bottom:34px}.filter{height:42px;padding:0 16px;border-radius:12px;border:1px solid var(--line);background:var(--surface);color:var(--ink2);font:500 14px var(--body);transition:all .2s;display:inline-flex;align-items:center;gap:8px;box-shadow:0 1px 2px #0b12200a}.filter:hover{color:var(--ink);border-color:var(--line2)}.filter.on{background:var(--ink);color:#fff;border-color:var(--ink)}.filter .n{font-size:12px;opacity:.6}.search{margin-left:auto;position:relative}.search input{height:42px;width:250px;border-radius:12px;border:1px solid var(--line);background:var(--surface);color:var(--ink);padding:0 14px 0 38px;font:500 14px var(--body);box-shadow:0 1px 2px #0b12200a}.search input::placeholder{color:var(--dim)}.search input:focus{outline:none;border-color:var(--ink)}.search svg{position:absolute;left:12px;top:12px;width:18px;height:18px;color:var(--dim)}.empty{text-align:center;color:var(--muted);padding:60px 0}.reel-wrap{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.reel-stage{position:relative;padding:30px 0}.reel-stage:before{content:"";position:absolute;top:6%;right:8%;bottom:6%;left:8%;border-radius:50%;background:radial-gradient(closest-side,rgba(247,183,51,.45),rgba(110,140,255,.25) 60%,transparent);filter:blur(30px);z-index:0}.phone-frame{position:relative;z-index:1;width:min(320px,78vw);margin:0 auto;aspect-ratio:9 / 19.2;border-radius:48px;padding:11px;background:linear-gradient(160deg,#1d2740,#0b1220);box-shadow:0 0 0 1px #0b122040,var(--shadow-lg)}.phone-frame .poster{width:100%;height:100%;object-fit:contain;border-radius:38px;background:linear-gradient(180deg,#0a132c,#051822)}.phone-notch{position:absolute;top:21px;left:50%;transform:translate(-50%);width:90px;height:26px;border-radius:20px;background:#000;z-index:2}.checks{list-style:none;padding:0;margin:28px 0 0;display:grid;gap:14px}.checks li{display:flex;gap:12px;align-items:flex-start;color:var(--ink2)}.checks li svg{flex:none;width:22px;height:22px;color:var(--amber-ink);margin-top:2px}.reviews{columns:3;column-gap:18px}.review{break-inside:avoid;margin-bottom:18px;padding:26px}.review .stars{font-size:14px}.review blockquote{margin:14px 0 0;font-size:16.5px;color:var(--ink);line-height:1.6}.review footer{display:flex;justify-content:space-between;gap:12px;margin-top:18px;padding-top:16px;border-top:1px solid var(--line);font-size:13px;color:var(--muted)}.review footer b{color:var(--ink);font-weight:600}.upwork-tag{display:inline-flex;align-items:center;gap:6px;color:#108a00;font-weight:600;white-space:nowrap}.endorse{display:grid;gap:18px}.endorse-row{display:grid;grid-template-columns:230px 1fr 56px;align-items:center;gap:18px;font-size:16px;font-weight:500;color:var(--ink2)}.endorse-bar{height:10px;border-radius:10px;background:var(--surface2);border:1px solid var(--line);overflow:hidden}.endorse-bar i{display:block;height:100%;border-radius:8px;background:var(--grad)}.endorse-row b{text-align:right;font:600 20px var(--head);color:var(--ink)}.endorse-card{padding:38px}.endorse-head{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:28px;flex-wrap:wrap}.endorse-total{display:flex;align-items:center;gap:14px}.endorse-total b{font:400 60px var(--serif);letter-spacing:-.02em;line-height:1}.endorse-total span{color:var(--muted);font-size:14px;line-height:1.35}.endorse-strip{display:flex;align-items:center;gap:28px;padding:26px 30px;margin-bottom:26px;border-radius:22px;background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-sm);flex-wrap:wrap}.endorse-strip-total{display:flex;flex-direction:column;min-width:150px}.endorse-strip-total b{font:400 56px var(--serif);letter-spacing:-.02em;line-height:1}.endorse-strip-total span{color:var(--muted);font-size:14px;margin-top:6px}.endorse-chips{display:flex;flex-wrap:wrap;gap:10px;flex:1}.endorse-chip{display:inline-flex;align-items:center;gap:10px;height:40px;padding:0 7px 0 14px;border-radius:12px;background:var(--surface2);border:1px solid var(--line);font:500 14px var(--body);color:var(--ink2)}.endorse-chip b{min-width:34px;height:27px;padding:0 8px;border-radius:8px;display:grid;place-items:center;background:var(--amber-soft);color:var(--amber-ink);font:600 14px var(--head)}.review-summary{display:grid;grid-template-columns:.9fr 1.1fr;gap:22px;margin-bottom:40px}.score{padding:34px;display:flex;flex-direction:column;justify-content:center;align-items:flex-start}.score .big{font:400 96px var(--serif);letter-spacing:-.02em;line-height:1;margin-top:10px}.process{display:grid;grid-template-columns:repeat(5,1fr);gap:16px;counter-reset:step;position:relative}.process:before{content:"";position:absolute;top:31px;left:10%;right:10%;height:2px;background:linear-gradient(90deg,transparent,var(--line2),var(--amber),var(--line2),transparent)}.step{position:relative;text-align:center;padding:0 6px}.step-n{width:64px;height:64px;margin:0 auto 20px;border-radius:50%;display:grid;place-items:center;background:var(--surface);border:1px solid var(--line);font:600 19px var(--head);color:var(--ink);position:relative;z-index:1;box-shadow:0 0 0 8px var(--bg),var(--shadow-sm)}.step-n:after{content:"";position:absolute;top:-1px;right:-1px;bottom:-1px;left:-1px;border-radius:50%;border:2px solid transparent;border-top-color:var(--amber);border-right-color:var(--amber);transform:rotate(-20deg)}.step h3{font-size:18.5px;font-weight:600}.step p{color:var(--muted);font-size:14.5px;margin-top:8px}.price-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;align-items:stretch}.price-grid.four{grid-template-columns:repeat(4,1fr)}.price{padding:32px 28px;display:flex;flex-direction:column;position:relative}.price.featured{background:var(--ink);border-color:var(--ink);color:#fff;box-shadow:var(--shadow-lg)}.price.featured:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;background:radial-gradient(420px 220px at 100% 0%,rgba(247,183,51,.22),transparent 70%);pointer-events:none}.price .pop{position:absolute;top:-13px;left:28px;background:var(--grad);color:var(--ink);font:700 11.5px var(--body);letter-spacing:.08em;text-transform:uppercase;padding:6px 12px;border-radius:999px;box-shadow:0 8px 20px -8px #e07b1299}.price h3{font-size:21px;font-weight:600}.price .note{color:var(--muted);font-size:14.5px;margin-top:6px}.price .amt{margin:22px 0 6px;font:600 48px var(--head);letter-spacing:-.045em}.price .amt small{font:500 15px var(--body);color:var(--muted);letter-spacing:0;margin-left:4px}.price ul{list-style:none;padding:0;margin:18px 0 28px;display:grid;gap:12px;flex:1}.price li{display:flex;gap:10px;font-size:14.5px;color:var(--ink2)}.price li svg{flex:none;width:18px;height:18px;color:var(--amber-ink);margin-top:3px}.price.featured .note,.price.featured .amt small{color:#aab4c8}.price.featured li{color:#dde3ee}.price.featured li svg{color:var(--amber)}.price.featured .btn-primary{background:var(--grad);color:var(--ink);box-shadow:0 14px 30px -12px #f2a516b3}.price.featured .btn-primary svg{color:var(--ink)}.tabs{display:inline-flex;padding:5px;border-radius:14px;background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-sm);gap:4px;margin:34px auto 40px}.tabs button{height:42px;padding:0 20px;border-radius:10px;border:0;background:transparent;color:var(--ink2);font:600 14.5px var(--head)}.tabs button.on{background:var(--ink);color:#fff}.faq{max-width:860px;margin:0 auto;display:grid;gap:10px}.faq details{border-radius:16px;background:var(--surface);border:1px solid var(--line);box-shadow:0 1px 2px #0b12200a;transition:border-color .2s,box-shadow .2s}.faq details[open]{border-color:var(--line2);box-shadow:var(--shadow-sm)}.faq summary{list-style:none;cursor:pointer;padding:21px 24px;font:600 17.5px var(--head);letter-spacing:-.02em;display:flex;justify-content:space-between;gap:20px;align-items:center}.faq summary::-webkit-details-marker{display:none}.faq summary .pm{flex:none;width:30px;height:30px;border-radius:9px;border:1px solid var(--line);display:grid;place-items:center;color:var(--ink);transition:background .3s,color .3s}.faq summary .pm svg{transition:transform .3s}.faq details[open] summary .pm{background:var(--amber-soft);border-color:transparent;color:var(--amber-ink)}.faq details[open] summary .pm svg{transform:rotate(45deg)}.faq .ans{padding:0 24px 22px;color:var(--muted);font-size:16px}.faq-split{display:grid;grid-template-columns:340px 1fr;gap:44px;align-items:start}.faq-split .faq{max-width:none;margin:0}.faq-aside{position:sticky;top:96px}.faq-aside .h2{margin-bottom:26px}.ask-card{padding:26px;border-radius:22px;border:1px solid var(--line);background:linear-gradient(160deg,#eef2ff,#fff 55%,#fff5e3);box-shadow:var(--shadow-sm)}.ask-card .who{display:flex;align-items:center;gap:12px}.ask-card .who img{width:52px;height:52px;border-radius:50%;object-fit:cover}.ask-card .who b{display:block;font:600 15.5px var(--head)}.ask-card .who span{color:var(--muted);font-size:13.5px}.ask-card h3{font-size:22px;margin-top:20px;letter-spacing:-.03em}.ask-card p{color:var(--muted);font-size:15px;margin-top:8px}.ask-card .btn{margin-top:20px}.founder{display:grid;grid-template-columns:.8fr 1.2fr;gap:48px;align-items:center;padding:34px;border-radius:30px}.founder-photo{border-radius:24px;overflow:hidden;background:#0b1220;box-shadow:var(--shadow);max-width:420px}.founder-photo img{width:100%}.founder .who{display:flex;align-items:center;gap:14px}.founder .who img{width:64px;height:64px;border-radius:50%;object-fit:cover;box-shadow:0 0 0 4px #fff,0 0 0 5px var(--line)}.founder .who b{display:block;font:600 17px var(--head)}.founder .who span{color:var(--muted);font-size:14px}.founder h2{font-size:clamp(30px,3.4vw,44px);letter-spacing:-.04em;margin-top:24px}.founder p{color:var(--ink2);margin-top:14px;font-size:16.5px}.founder .creds{margin-top:22px}.cta-band{position:relative;overflow:hidden;border-radius:34px;padding:80px 56px;text-align:center;background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);isolation:isolate}.cta-band:before,.cta-band:after{content:"";position:absolute;z-index:-1;border-radius:50%;filter:blur(60px);pointer-events:none}.cta-band:before{width:520px;height:380px;left:-140px;bottom:-200px;background:#6e8cff4d}.cta-band:after{width:560px;height:400px;right:-160px;top:-220px;background:#f7b73366}.cta-band h2{font-size:clamp(34px,5vw,64px);font-weight:600;letter-spacing:-.045em;line-height:1.02;max-width:860px;margin:0 auto;text-wrap:balance}.cta-band p{color:var(--muted);font-size:18px;margin:18px auto 0;max-width:600px}.cta-band .hero-ctas{justify-content:center}.cta-band .sub{margin-top:20px;font-size:14px;color:var(--muted)}.cta-avatar{width:88px;height:88px;border-radius:50%;margin:0 auto 26px;object-fit:cover;box-shadow:0 0 0 5px #fff,0 0 0 6px var(--line),0 20px 40px -18px #0b122080}.page-head{padding:76px 0 54px;position:relative;overflow:hidden}.page-head>.wrap{position:relative;z-index:1}.page-head h1{font-size:clamp(42px,6vw,78px);font-weight:600;margin-top:18px;letter-spacing:-.05em;line-height:1;max-width:1000px;text-wrap:balance}.crumbs{display:flex;gap:8px;color:var(--dim);font-size:14px;flex-wrap:wrap}.crumbs a{color:var(--muted)}.crumbs a:hover{color:var(--ink)}.proj-hero{display:grid;grid-template-columns:1fr 1.2fr;gap:50px;align-items:center}.proj-hero h1{font-size:clamp(40px,5vw,66px)}.proj-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:30px}.fact{padding:16px 18px;border-radius:16px;background:var(--surface);border:1px solid var(--line);box-shadow:0 1px 2px #0b12200a}.fact span{display:block;color:var(--dim);font-size:11.5px;text-transform:uppercase;letter-spacing:.1em;font-weight:600}.fact b{display:block;margin-top:6px;font:600 15.5px var(--head)}.showcase{position:relative;padding:0 0 40px}.showcase .browser-lg{border-radius:16px;overflow:hidden;border:1px solid rgba(11,18,32,.08);box-shadow:var(--shadow-lg);background:#fff}.showcase .browser-lg .browser-bar{height:36px;padding:0 14px;gap:7px}.showcase .browser-lg .browser-bar i{width:10px;height:10px}.url{margin-left:14px;flex:1;height:22px;border-radius:7px;background:#fff;border:1px solid var(--line);color:var(--muted);font-size:12px;display:flex;align-items:center;padding:0 12px;overflow:hidden;white-space:nowrap}.showcase .phone-sm{position:absolute;right:-24px;bottom:0;width:26%;border-radius:28px;overflow:hidden;border:6px solid #0b1220;box-shadow:var(--shadow-lg);background:#0b1220}.showcase .phone-sm img{aspect-ratio:9 / 18.5;object-fit:cover;object-position:top;width:100%;border-radius:22px}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:22px}.panel{padding:34px}.panel h2{font-size:26px;font-weight:600;letter-spacing:-.035em}.panel p{color:var(--muted);margin-top:12px}.about-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:60px;align-items:start}.about-photo{position:relative;border-radius:30px;overflow:hidden;border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow)}.about-photo img{width:100%}.prose p{color:var(--ink2);font-size:17.5px;margin-top:18px}.prose p:first-child{margin-top:0}.prose b{color:var(--ink)}.prose a{color:var(--ink);text-decoration:underline;text-decoration-color:var(--amber);text-underline-offset:3px}.timeline{display:grid;gap:16px}.tl{display:grid;grid-template-columns:150px 1fr;gap:24px;padding:26px 28px}.tl .when{color:var(--amber-ink);font:600 14px var(--head);padding-top:3px}.tl h3{font-size:19.5px;font-weight:600}.tl .where{color:var(--muted);font-size:14.5px;margin-top:2px}.tl p{color:var(--muted);margin-top:10px;font-size:15.5px}.creds{display:flex;flex-wrap:wrap;gap:10px;margin-top:26px}.footer{border-top:1px solid var(--line);padding:68px 0 34px;margin-top:56px;background:var(--surface)}.foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr 1fr;gap:40px}.foot-title{font-size:12.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--dim);margin-bottom:16px;font-family:var(--body);font-weight:600}.foot-grid ul{list-style:none;padding:0;margin:0;display:grid;gap:10px}.foot-grid a{color:var(--ink2);font-size:15px;transition:color .2s}.foot-grid a:hover{color:var(--amber-ink)}.foot-about p{color:var(--muted);font-size:15px;margin-top:16px;max-width:340px}.foot-bottom{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;margin-top:50px;padding-top:26px;border-top:1px solid var(--line);color:var(--dim);font-size:13.5px}.foot-links{display:inline-flex;gap:18px;flex-wrap:wrap}.foot-links a,.foot-links button{color:var(--muted);font:inherit;background:none;border:0;padding:0;text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--line2)}.foot-links a:hover,.foot-links button:hover{color:var(--ink)}.cc{position:fixed;z-index:70;left:20px;bottom:20px;width:min(420px,calc(100vw - 40px));padding:20px 22px;border-radius:18px;background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-lg)}.cc h2{font-size:17px;letter-spacing:-.02em}.cc p{color:var(--muted);font-size:14px;margin-top:8px;line-height:1.55}.cc p a{color:var(--ink);text-decoration:underline;text-underline-offset:3px}.cc-btns{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px;align-items:center}.cc-link{background:none;border:0;padding:0 6px;font:600 14px var(--head);color:var(--ink);text-decoration:underline;text-underline-offset:3px}.cc-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;background:#0b122059;display:grid;place-items:center;padding:16px}.cc-dialog{width:min(520px,100%);max-height:calc(100vh - 32px);overflow:auto;padding:26px;border-radius:22px;background:var(--surface);box-shadow:var(--shadow-lg)}.cc-dialog h2{font-size:22px;letter-spacing:-.03em}.cc-dialog>p{color:var(--muted);font-size:14.5px;margin-top:8px}.cc-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 0;border-bottom:1px solid var(--line);cursor:pointer}.cc-row b{display:block;font:600 15px var(--head)}.cc-row small{display:block;color:var(--muted);font-size:13px;margin-top:2px}.cc-row input{flex:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;width:44px;height:26px;border-radius:99px;background:var(--line2);position:relative;cursor:pointer;transition:background .2s}.cc-row input:after{content:"";position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #0b12204d;transition:transform .2s}.cc-row input:checked{background:var(--ink)}.cc-row input:checked:after{transform:translate(18px)}.cc-row input:disabled{opacity:.55;cursor:not-allowed}.cc-row input:focus-visible{outline:2px solid var(--blue);outline-offset:3px}@media (max-width: 640px){.cc{left:12px;right:12px;bottom:12px;width:auto}}.legal h2{font-size:24px;letter-spacing:-.03em;margin-top:38px}.legal h2:first-child{margin-top:0}.legal p,.legal li{color:var(--ink2);font-size:16.5px;margin-top:12px}.legal ul{padding-left:20px}.legal a{color:var(--ink);text-decoration:underline;text-underline-offset:3px}.legal .tbl{overflow-x:auto;margin-top:16px;border:1px solid var(--line);border-radius:14px;background:var(--surface)}.legal table{width:100%;border-collapse:collapse;font-size:14.5px;min-width:560px}.legal th,.legal td{text-align:left;padding:12px 14px;border-bottom:1px solid var(--line);vertical-align:top}.legal th{font:600 13px var(--head);color:var(--muted);background:var(--surface2)}.legal tr:last-child td{border-bottom:0}.sticky-cta{display:none}@media (max-width: 1080px){.reel-wrap,.proj-hero,.about-grid,.founder{grid-template-columns:1fr}.services,.work-grid,.price-grid,.price-grid.four{grid-template-columns:repeat(2,1fr)}.reviews{columns:2}.process{grid-template-columns:1fr;gap:0;max-width:560px;margin:0 auto}.process:before{left:31px;right:auto;top:30px;bottom:30px;width:2px;height:auto;background:linear-gradient(180deg,var(--amber),var(--line2))}.step{display:grid;grid-template-columns:64px 1fr;gap:20px;text-align:left;padding:0 0 26px}.step-n{margin:0}.foot-grid{grid-template-columns:1fr 1fr 1fr}.foot-about{grid-column:1 / -1}.review-summary{grid-template-columns:1fr}.about-photo{max-width:420px}.faq-split{grid-template-columns:1fr;gap:28px}.faq-aside{position:static}.faq-aside .ask-card{max-width:560px}.case-body{grid-template-columns:1fr;gap:14px}}@media (max-width: 860px){.nav-links,.nav-cta{display:none}.burger{display:block}.mobile-menu{display:block;position:fixed;top:72px;right:0;bottom:0;left:0;background:#f7f6f3fa;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);padding:24px;transform:translateY(-8px);opacity:0;pointer-events:none;transition:opacity .25s,transform .25s;z-index:49}.mobile-menu.open{opacity:1;transform:none;pointer-events:auto}.mobile-menu a{display:block;padding:16px 4px;font:600 24px var(--head);letter-spacing:-.03em;border-bottom:1px solid var(--line)}.mobile-menu .btn{display:flex;width:100%;margin-top:24px;padding:0 22px;font-size:16px;letter-spacing:-.005em;border-bottom:0}.stats,.logos{grid-template-columns:repeat(2,1fr)}.section{padding:84px 0}.two-col{grid-template-columns:1fr}.sticky-cta{display:flex;position:fixed;left:12px;right:12px;bottom:12px;z-index:40;gap:10px;padding:8px;border-radius:18px;background:#ffffffe6;border:1px solid var(--line);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:var(--shadow)}.sticky-cta .btn{flex:1;height:46px}.footer{padding-bottom:100px}.search{margin-left:0;width:100%}.search input{width:100%}.stage{aspect-ratio:1 / .86;margin-top:44px}.bw.side,.ph.p2,.fchip.c2{display:none}.bw.main{left:0;width:86%;top:12%}.ph.p1{right:0;width:30%;bottom:2%}.fchip.c1{left:0;top:0;padding:8px 12px;font-size:12.5px}.fchip.c1 .ic{width:26px;height:26px}.fchip.c3{left:0;bottom:3%;transform:none;padding:9px 12px}.fchip.c3 .lbl{display:none}.case-shot{aspect-ratio:4 / 3}.case-shot .bw{left:5%;top:9%;width:80%}.case-shot .ph{right:5%;top:auto;bottom:-12%;width:28%}}@media (max-width: 640px){.wrap{padding:0 16px}.services,.work-grid,.price-grid,.price-grid.four{grid-template-columns:1fr}.reviews{columns:1}.hero{padding-top:40px}.hero h1{font-size:clamp(38px,11vw,48px);letter-spacing:-.045em}.hero p.lead{font-size:17px}.hero-ctas .btn{flex:1}.hero-center .hero-ctas{flex-direction:column;align-items:stretch;width:100%;max-width:420px}.hero-center .hero-ctas .btn{flex:none;width:100%}.badge{height:31px;font-size:12px;padding:0 11px}.h2{font-size:clamp(31px,8.6vw,40px)}.lead{font-size:17px}.logo-cell{min-height:76px;font-size:15px;padding:12px}.stat{padding:22px 18px}.proj-facts{grid-template-columns:1fr 1fr}.foot-grid{grid-template-columns:1fr 1fr;gap:30px}.cta-band{padding:56px 20px;border-radius:26px}.endorse-row{grid-template-columns:1fr 1fr 44px;font-size:14.5px;gap:12px}.endorse-card{padding:26px}.endorse-total b{font-size:48px}.tl{grid-template-columns:1fr;gap:8px}.showcase .phone-sm{right:-6px;width:30%;border-width:4px;border-radius:20px}.showcase .phone-sm img{border-radius:16px}.tabs{display:flex;width:100%}.tabs button{flex:1;padding:0 8px}.head-row{margin-bottom:32px}.case-body{padding:22px 20px 24px}.case-body .desc{font-size:15.5px}.founder{padding:22px;border-radius:24px;gap:26px}.panel{padding:26px 22px}.page-head{padding:52px 0 40px}.page-head h1{font-size:clamp(38px,10.5vw,52px)}.score .big{font-size:80px}}.section-alt{background:var(--bg2);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.section-alt .step-n{box-shadow:0 0 0 8px var(--bg2),var(--shadow-sm)}.work-shot.fig{background:#ececec;background-image:radial-gradient(rgba(11,18,32,.13) 1px,transparent 1px);background-size:14px 14px}.fig-canvas{position:absolute;top:0;right:0;bottom:0;left:0}.fig-label{position:absolute;left:9%;top:6.5%;font:500 11px var(--body);color:#7a7a82;letter-spacing:.01em}.fig-frame{position:absolute;left:9%;top:13%;width:82%;outline:1.5px solid #0d99ff;box-shadow:0 22px 44px -20px #0b122073;transition:transform .5s cubic-bezier(.2,.7,.2,1);background:#fff}.fig-frame img{display:block;width:100%;aspect-ratio:16 / 10;object-fit:cover;object-position:50% 0;transition:object-position 3.2s ease-in-out}.work-card:hover .fig-frame{transform:translateY(-4px)}.work-card:hover .fig-frame img{object-position:50% 100%}.fig-frame .fh{position:absolute;width:7px;height:7px;background:#fff;border:1.5px solid #0d99ff}.fig-frame .fh-tl{left:-4px;top:-4px}.fig-frame .fh-tr{right:-4px;top:-4px}.fig-frame .fh-bl{left:-4px;bottom:-4px}.fig-frame .fh-br{right:-4px;bottom:-4px}.fig-size{position:absolute;left:50%;bottom:5.5%;transform:translate(-50%);background:#0d99ff;color:#fff;font:600 10.5px var(--body);padding:2px 7px;border-radius:4px;white-space:nowrap}.fig-badge{position:absolute;z-index:2;left:12px;top:12px;display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;background:#ffffffeb;border:1px solid rgba(139,92,246,.3);color:#5b21b6;font:600 11px var(--body);box-shadow:0 4px 12px -6px #0b12204d;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.showcase .fig-canvas.big{position:relative;inset:auto;aspect-ratio:16 / 11.5;border-radius:16px;overflow:hidden;border:1px solid var(--line);box-shadow:var(--shadow-lg);background:#ececec;background-image:radial-gradient(rgba(11,18,32,.13) 1px,transparent 1px);background-size:16px 16px}.fig-canvas.big .fig-label{font-size:13px;top:5%;left:7%}.fig-canvas.big .fig-frame{left:7%;top:10.5%;width:86%}.fig-canvas.big .fig-frame img{transition:none}.fig-canvas.big .fig-size{font-size:12px;bottom:4%}.design-scroll{border-radius:16px;overflow:hidden;border:1px solid var(--line);background:#ececec;box-shadow:var(--shadow);max-width:1040px;margin:0 auto}.design-bar{display:flex;align-items:center;gap:10px;height:44px;padding:0 16px;background:#fff;border-bottom:1px solid var(--line);color:var(--ink2);font:600 13px var(--body)}.design-bar em{margin-left:auto;font-style:normal;color:#0d99ff;font-weight:600;font-size:12px}.design-body{height:min(78vh,900px);overflow-y:auto;scrollbar-width:thin;scrollbar-color:#bbb #ececec}.design-body img{display:block;width:100%;height:auto}@media (max-width: 640px){.fig-badge{font-size:10px;padding:3px 8px}.fig-label{font-size:10px}.fig-size{font-size:9.5px}}.insight-list{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.insight-card{display:block;padding:28px;transition:transform .3s,box-shadow .3s}.insight-card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}.insight-card h2{font-size:23px;letter-spacing:-.03em;line-height:1.2;margin-top:16px}.insight-card p{color:var(--muted);margin-top:10px;font-size:15.5px}.insight-meta{display:block;color:var(--dim);font-size:13.5px;margin-top:14px}.article-byline{color:var(--muted);font-size:14.5px;margin-top:18px}.article-byline a{color:var(--ink);font-weight:600}.article-grid{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:48px;align-items:start}.article{max-width:740px}.takeaways{padding:24px 26px;border-left:3px solid var(--amber)}.takeaways h2{font-size:18px}.takeaways .checks{margin-top:12px;gap:10px}.article-body{margin-top:34px}.article-body h2{font-size:clamp(24px,2.6vw,30px);letter-spacing:-.035em;line-height:1.15;margin-top:44px;scroll-margin-top:90px}.article-body h2:first-child{margin-top:0}.article-body h3{font-size:20px;letter-spacing:-.025em;margin-top:28px}.article-body p{margin-top:16px}.article-body ul,.article-body ol{margin:16px 0 0;padding-left:22px;color:var(--ink2);font-size:17.5px}.article-body li{margin-top:8px}.article-body strong{color:var(--ink)}.article-body table{width:100%;border-collapse:collapse;margin-top:18px;font-size:15px;display:block;overflow-x:auto}.article-body th,.article-body td{text-align:left;padding:11px 13px;border-bottom:1px solid var(--line);vertical-align:top;min-width:120px}.article-body th{font:600 13.5px var(--head);color:var(--muted);background:var(--surface2)}.article-faq{margin-top:48px}.article-faq h2{font-size:28px;letter-spacing:-.035em;margin-bottom:18px}.article-faq .faq{max-width:none}.article-updated{color:var(--dim);font-size:14px;margin-top:30px}.article-aside{position:sticky;top:96px;display:grid;gap:18px}.toc{padding:20px 22px}.toc-title{font:600 13px var(--body);letter-spacing:.08em;text-transform:uppercase;color:var(--dim)}.toc ol{margin:10px 0 0;padding-left:18px;display:grid;gap:8px;font-size:14.5px;color:var(--ink2)}.toc a:hover{color:var(--amber-ink)}@media (max-width: 1080px){.article-grid{grid-template-columns:1fr}.article-aside{position:static}}@media (max-width: 860px){.insight-list{grid-template-columns:1fr}}@media (max-width: 640px){.insight-card{padding:22px}.takeaways{padding:20px}.article-body ul,.article-body ol{font-size:16.5px}}
