/* Bytesweavers Loom — light by default, dark on request. */
:root{--sans:"Geist","Inter",system-ui,-apple-system,"Segoe UI",sans-serif;--serif:"Instrument Serif",Georgia,serif;--mono:"Geist Mono",ui-monospace,SFMono-Regular,Menlo,monospace;--r:20px;--r-lg:30px;--max:1240px;--ease:cubic-bezier(.2,.8,.2,1);--top:calc(14px + var(--wp-admin--admin-bar--height,0px))}
[data-theme="light"]{color-scheme:light;--bg:#f7f6f2;--bg-2:#efede6;--card:#fff;--card-2:#fbfaf7;--glass:rgba(255,255,255,.76);--text:#0d0e13;--muted:#545969;--dim:#80858f;--line:rgba(13,14,19,.08);--line-2:rgba(13,14,19,.15);--teal:#0a8f79;--violet:#5f50ee;--amber:#c47208;--rose:#d63d70;--soft:rgba(95,80,238,.07);--soft-teal:rgba(10,143,121,.09);--shadow-sm:0 1px 2px rgba(13,14,19,.05),0 2px 8px -2px rgba(13,14,19,.06);--shadow:0 1px 2px rgba(13,14,19,.04),0 14px 34px -14px rgba(13,14,19,.16),0 44px 90px -44px rgba(13,14,19,.22);--invert:#0d0e13;--invert-text:#fff;--thread-a:rgba(10,143,121,.2);--thread-b:rgba(95,80,238,.18);--aurora-a:rgba(10,154,130,.2);--aurora-b:rgba(95,80,238,.2);--aurora-c:rgba(224,72,122,.1)}
[data-theme="dark"]{color-scheme:dark;--bg:#08090f;--bg-2:#0d0f19;--card:#11131e;--card-2:#0e101a;--glass:rgba(12,14,23,.76);--text:#eef0f7;--muted:#a3a8bd;--dim:#737995;--line:rgba(255,255,255,.08);--line-2:rgba(255,255,255,.16);--teal:#35e0c1;--violet:#9587ff;--amber:#ffb86b;--rose:#ff7aa5;--soft:rgba(149,135,255,.1);--soft-teal:rgba(53,224,193,.09);--shadow-sm:inset 0 1px 0 rgba(255,255,255,.04);--shadow:inset 0 1px 0 rgba(255,255,255,.06),0 40px 90px -40px rgba(0,0,0,.8);--invert:#eef0f7;--invert-text:#08090f;--thread-a:rgba(53,224,193,.2);--thread-b:rgba(149,135,255,.22);--aurora-a:rgba(53,224,193,.16);--aurora-b:rgba(149,135,255,.2);--aurora-c:rgba(255,122,165,.08)}

*,*:before,*:after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;overflow-x:clip}
body{margin:0;background:var(--bg);color:var(--text);font:16px/1.6 var(--sans);-webkit-font-smoothing:antialiased;overflow-x:clip;transition:background .5s var(--ease),color .5s var(--ease)}
body.menu-open{overflow:hidden}
html body.bwl:not(.menu-open){overflow:visible!important;overflow-x:clip!important}
h1,h2,h3,h4,h5,h6,p,figure,blockquote,ul,ol{margin:0}
a{color:inherit;text-decoration:none}
img,svg,video{max-width:100%;height:auto}
img{display:block}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer;padding:0}
input,select,textarea{font:inherit;color:inherit}
::selection{background:var(--violet);color:#fff}
:focus-visible{outline:2px solid var(--violet);outline-offset:3px;border-radius:8px}
.screen-reader-text{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip{position:fixed;left:16px;top:-60px;z-index:200;background:var(--invert);color:var(--invert-text);padding:10px 16px;border-radius:10px;transition:top .2s}
.skip:focus{top:16px}
.wrap{max-width:var(--max);margin:0 auto;padding:0 24px}
.wrap.narrow{max-width:800px}
.ic{width:1.15em;height:1.15em;flex:none;vertical-align:-.18em}
.grad{background:linear-gradient(100deg,var(--teal),var(--violet) 70%,var(--rose));-webkit-background-clip:text;background-clip:text;color:transparent}
.grad .w{background:inherit;-webkit-background-clip:text;background-clip:text;color:transparent;padding-right:.06em}
em.s{font-family:var(--serif);font-style:italic;font-weight:400;letter-spacing:-.01em}
.eyebrow{display:inline-flex;align-items:center;gap:10px;font:500 12px/1.3 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.eyebrow i{width:6px;height:6px;border-radius:50%;background:var(--teal);box-shadow:0 0 0 4px var(--soft-teal);flex:none}
h1,h2,h3,h4{font-weight:600;letter-spacing:-.035em;line-height:1.06;text-wrap:balance}
p{text-wrap:pretty}
.muted{color:var(--muted);font-size:14.5px}
.muted-p p,.muted-p{color:var(--muted)}

/* buttons */
.btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:48px;padding:0 22px;border-radius:999px;font-weight:600;font-size:15px;letter-spacing:-.01em;line-height:1.2;text-align:center;transition:transform .35s var(--ease),box-shadow .35s var(--ease),background .3s,border-color .3s,color .3s;will-change:transform}
.btn.sm{min-height:40px;padding:0 16px;font-size:14px}
.btn .ic{width:17px;height:17px}
.btn.p{background:var(--invert);color:var(--invert-text);box-shadow:inset 0 1px 0 rgba(255,255,255,.15),0 8px 20px -8px rgba(13,14,19,.45)}
.btn.p:hover{box-shadow:0 0 0 5px var(--soft),0 14px 30px -10px var(--violet)}
.btn.o{background:var(--card);border:1px solid var(--line-2);box-shadow:var(--shadow-sm)}
.btn.o:hover{border-color:var(--text)}
.btn .arr{transition:transform .35s var(--ease)}.btn:hover .arr{transform:translateX(3px)}
.btn.shine{overflow:hidden}
.btn.shine:after{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 30%,rgba(255,255,255,.35) 50%,transparent 70%);transform:translateX(-120%);animation:shine 4.5s var(--ease) infinite 1.5s}
@keyframes shine{0%{transform:translateX(-120%)}30%,100%{transform:translateX(120%)}}
.lnk{display:inline-flex;gap:6px;align-items:center;font-size:14px;font-weight:600;color:var(--violet)}

/* header */
.progress{position:fixed;top:0;left:0;height:2px;width:100%;transform-origin:0 50%;transform:scaleX(0);background:linear-gradient(90deg,var(--teal),var(--violet));z-index:95}
header.site{position:fixed;left:0;right:0;top:var(--top);z-index:90;transition:transform .5s var(--ease)}
header.site.hide{transform:translateY(calc(-100% - 30px))}
.nav{display:flex;align-items:center;gap:14px;height:64px;padding:0 10px 0 18px;border-radius:999px;border:1px solid transparent;transition:background .4s,border-color .4s,box-shadow .4s}
header.site.stuck .nav,body.menu-open header.site .nav{background:var(--glass);border-color:var(--line);box-shadow:var(--shadow-sm);-webkit-backdrop-filter:blur(18px) saturate(1.5);backdrop-filter:blur(18px) saturate(1.5)}
.logo{display:flex;align-items:center;gap:10px;font-weight:700;letter-spacing:-.03em;font-size:18px;flex:none}
.logo .custom-logo{height:36px;width:auto;flex:none}
[data-theme="dark"] .logo .custom-logo{filter:invert(1)}
.mark{width:30px;height:30px;border-radius:9px;display:grid;place-items:center;background:var(--invert);color:var(--invert-text)}
.mark .ic{width:18px;height:18px;stroke-width:2.4}
.menu{display:flex;align-items:center;gap:2px;margin:0 0 0 auto;padding:0;list-style:none;font-size:14.5px;color:var(--muted)}
.menu>a,.menu>.dd>button,.wp-menu>li>a{display:flex;align-items:center;gap:5px;padding:9px 13px;border-radius:999px;transition:color .2s,background .2s}
.menu>a:hover,.menu>.dd>button:hover,.menu>.dd.open>button,.wp-menu>li>a:hover,.wp-menu .current-menu-item>a{color:var(--text);background:var(--soft)}
.chev{width:14px;height:14px;transition:transform .3s}
.dd.open .chev{transform:rotate(180deg)}
.dd,.wp-menu>li{position:relative}
.mega,.wp-menu .sub-menu{position:absolute;top:calc(100% + 12px);left:50%;width:600px;translate:-50% 0;padding:10px;border-radius:22px;background:var(--card);border:1px solid var(--line);box-shadow:var(--shadow);display:grid;grid-template-columns:1fr 1fr;gap:4px;opacity:0;visibility:hidden;transform:translateY(8px) scale(.98);transition:.3s var(--ease);list-style:none;margin:0}
.dd.open .mega,.wp-menu li:hover>.sub-menu,.wp-menu li:focus-within>.sub-menu{opacity:1;visibility:visible;transform:none}
.wp-menu .sub-menu{width:280px;grid-template-columns:1fr}
.mega a,.wp-menu .sub-menu a{display:flex;gap:12px;align-items:center;padding:11px 12px;border-radius:14px;color:var(--text);transition:background .2s}
.mega a:hover,.wp-menu .sub-menu a:hover{background:var(--soft)}
.mega b{display:block;font-size:14px;font-weight:600}.mega small{display:block;color:var(--dim);font-size:12.5px;line-height:1.35}
.mega a.all{grid-column:1/-1;justify-content:space-between;background:var(--bg-2);margin-top:4px}
.mi{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;background:var(--bg-2);border:1px solid var(--line);flex:none;color:var(--text)}
.mi .ic{width:19px;height:19px}
.actions{display:flex;align-items:center;gap:8px;flex:none}
.menu+.actions{margin-left:6px}
.theme{position:relative;width:64px;height:36px;border-radius:999px;background:var(--bg-2);border:1px solid var(--line-2);display:inline-flex;align-items:center;padding:3px;flex:none}
.theme .knob{position:relative;width:28px;height:28px;border-radius:50%;background:var(--card);box-shadow:0 2px 6px rgba(0,0,0,.18);display:grid;place-items:center;transition:transform .5s var(--ease)}
[data-theme="dark"] .theme .knob{transform:translateX(28px)}
.theme .ic{position:absolute;width:16px;height:16px;transition:opacity .4s,transform .5s var(--ease)}
.theme .sun{color:var(--amber)}.theme .moon{color:var(--violet);opacity:0;transform:rotate(-60deg) scale(.6)}
[data-theme="dark"] .theme .sun{opacity:0;transform:rotate(60deg) scale(.6)}
[data-theme="dark"] .theme .moon{opacity:1;transform:none}
::view-transition-old(root),::view-transition-new(root){animation:none;mix-blend-mode:normal}
.burger{display:none;width:42px;height:42px;border-radius:50%;border:1px solid var(--line-2);place-items:center;background:var(--card)}
.burger .ic{width:18px;height:18px}.burger .i-close{display:none}
body.menu-open .burger .i-menu{display:none}body.menu-open .burger .i-close{display:block}
.drawer{position:fixed;inset:0;z-index:85;background:var(--bg);padding:calc(var(--top) + 90px) 24px 30px;display:flex;flex-direction:column;gap:4px;opacity:0;visibility:hidden;transition:.4s var(--ease);overflow:auto}
.drawer.open{opacity:1;visibility:visible}
.drawer a{font-size:30px;font-weight:600;letter-spacing:-.03em;padding:10px 0;border-bottom:1px solid var(--line);transform:translateY(12px);opacity:0;transition:.5s var(--ease)}
.drawer.open a{transform:none;opacity:1}
.drawer .btn{margin-top:22px;font-size:16px;border:0}

/* page heroes */
.hero,.ph{position:relative;overflow:hidden}
.hero{padding:calc(var(--top) + 140px) 0 70px}
.ph{padding:calc(var(--top) + 126px) 0 64px}
.ph.small{padding-bottom:40px}
.aurora{position:absolute;inset:-20% -10% auto;height:120%;pointer-events:none;filter:blur(70px)}
.aurora i{position:absolute;border-radius:50%;animation:drift 18s ease-in-out infinite alternate}
.aurora i:nth-child(1){width:560px;height:560px;left:52%;top:0;background:var(--aurora-b)}
.aurora i:nth-child(2){width:480px;height:480px;left:70%;top:24%;background:var(--aurora-a);animation-delay:-6s}
.aurora i:nth-child(3){width:380px;height:380px;left:34%;top:34%;background:var(--aurora-c);animation-delay:-11s}
.ph.is-center .aurora i:nth-child(1){left:20%}.ph.is-center .aurora i:nth-child(2){left:55%;top:5%}
@keyframes drift{to{transform:translate(-80px,60px) scale(1.12)}}
canvas.loom{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;-webkit-mask:linear-gradient(180deg,#000 40%,transparent 95%);mask:linear-gradient(180deg,#000 40%,transparent 95%)}
.gridbg{position:absolute;inset:0;background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:64px 64px;-webkit-mask:radial-gradient(ellipse 70% 60% at 50% 30%,#000 20%,transparent 75%);mask:radial-gradient(ellipse 70% 60% at 50% 30%,#000 20%,transparent 75%);opacity:.6;pointer-events:none}
.hero .wrap{position:relative;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:56px;align-items:center}
.ph-grid{position:relative;display:grid;gap:56px;align-items:center}
.ph.is-split .ph-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.ph.is-center .ph-copy{max-width:880px;margin:0 auto;text-align:center;display:flex;flex-direction:column;align-items:center}
.ph.is-center .cta,.ph.is-center .meta-row,.ph.is-center .crumbs{justify-content:center}
.pill{display:inline-flex;align-items:center;gap:10px;padding:6px 14px 6px 6px;border-radius:999px;background:var(--glass);border:1px solid var(--line);box-shadow:var(--shadow-sm);font-size:13.5px;color:var(--muted);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);max-width:100%}
.pill b{background:var(--invert);color:var(--invert-text);font:600 11px/1 var(--mono);padding:6px 9px;border-radius:999px;letter-spacing:.04em;text-transform:uppercase;flex:none}
.pill span{min-width:0;line-height:1.35}
p.pill{border-radius:18px}
.hero h1{font-size:clamp(44px,6.6vw,92px);margin:24px 0 22px;letter-spacing:-.05em}
.ph h1{font-size:clamp(40px,5.4vw,76px);margin:18px 0 18px;letter-spacing:-.05em}
.ph.small h1{font-size:clamp(38px,4.8vw,66px)}
.lead{font-size:clamp(17px,1.5vw,20px);color:var(--muted);max-width:600px;line-height:1.55}
.sub{color:var(--dim);margin-top:10px;max-width:600px}
.cta{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:30px}
.crumbs{display:flex;flex-wrap:wrap;gap:8px;font:13px var(--mono);color:var(--dim);margin-bottom:12px}
.crumbs a:hover{color:var(--text)}
.app-id{display:flex;gap:14px;align-items:center;margin:8px 0 4px}
.app-id strong{display:block;font-size:15px}.app-id span{font:12.5px var(--mono);color:var(--dim)}
.price-tag{display:inline-flex;flex-direction:column;padding:4px 4px 4px 10px;line-height:1.2}
.price-tag b{font-size:20px;letter-spacing:-.02em}.price-tag small{font:12px var(--mono);color:var(--dim)}
.meta-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:24px}
.chip{display:inline-flex;align-items:center;gap:8px;font:500 12px/1.3 var(--mono);padding:7px 12px;border-radius:999px;border:1px solid var(--line-2);color:var(--muted);background:var(--card-2)}
.chip.lg{font:500 14px/1.3 var(--sans);padding:10px 16px;color:var(--text);background:var(--card)}
.chip .ic{color:var(--teal)}
.proof{display:flex;align-items:center;gap:22px;margin-top:34px;flex-wrap:wrap}
.rating b{font-size:18px}.rating small{display:block;color:var(--muted);font-size:13px}
.stars{color:var(--amber);letter-spacing:1px}
.ticks{display:flex;flex-wrap:wrap;gap:8px 18px;list-style:none;padding:0;color:var(--muted);font-size:14px}
.ticks li{display:flex;gap:7px;align-items:center}.ticks .ic{color:var(--teal)}
.proofbar{position:relative;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin-top:48px}
.proofbar>div{display:flex;gap:14px;align-items:flex-start;padding:18px;border-radius:18px;background:var(--glass);border:1px solid var(--line);box-shadow:var(--shadow-sm);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}
.proofbar b{display:block;font-size:15px}.proofbar small{display:block;color:var(--muted);font-size:13.5px;line-height:1.45;margin-top:2px}
.ph-card{padding:30px;border-radius:26px;background:var(--glass);border:1px solid var(--line);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}
.ph-card h2{font-size:clamp(24px,2.4vw,32px);margin:14px 0 22px}
.signals{list-style:none;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:10px}
.signals li{padding:16px;border-radius:14px;background:var(--card);border:1px solid var(--line)}
.signals b{display:block;font:600 13px var(--mono);color:var(--violet);margin-bottom:6px}.signals span{font-weight:600}
.shot-main{border-radius:22px;overflow:hidden;border:1px solid var(--line);box-shadow:var(--shadow);background:var(--card)}
.shot-main img{width:100%;aspect-ratio:16/10;object-fit:cover;object-position:top}
.thumbs{display:grid;grid-template-columns:repeat(auto-fill,minmax(90px,1fr));gap:10px;margin-top:10px}
.thumbs button{border-radius:12px;overflow:hidden;border:2px solid transparent;opacity:.6;transition:.3s;background:var(--card)}
.thumbs button.on,.thumbs button:hover{opacity:1;border-color:var(--violet)}
.thumbs img{aspect-ratio:16/10;object-fit:cover;object-position:top;width:100%}

/* home hero stage */
.stage{position:relative;perspective:1400px}
.window{position:relative;border-radius:24px;background:var(--card);border:1px solid var(--line);box-shadow:var(--shadow);overflow:hidden;transform:rotateY(-8deg) rotateX(4deg);transition:transform .8s var(--ease)}
.stage:hover .window{transform:none}
.bar-top{display:flex;align-items:center;gap:7px;padding:13px 16px;border-bottom:1px solid var(--line);font:12px var(--mono);color:var(--dim);white-space:nowrap;overflow:hidden}
.bar-top i{width:11px;height:11px;border-radius:50%;flex:none}
.bar-top i:nth-child(1){background:#ff5f57}.bar-top i:nth-child(2){background:#febc2e}.bar-top i:nth-child(3){background:#28c840}
.bar-top span{margin-left:10px;overflow:hidden;text-overflow:ellipsis}
.video{position:relative;aspect-ratio:16/9;margin:14px;border-radius:14px;overflow:hidden;background:linear-gradient(180deg,#1b2a4a 0%,#3b3f7a 45%,#d27a66 78%,#f3b67a 100%)}
.video .sun{position:absolute;width:26%;aspect-ratio:1;border-radius:50%;left:37%;top:40%;background:radial-gradient(circle,#ffe2a8,#ffb46b 60%,transparent 70%);animation:rise 8s ease-in-out infinite alternate}
@keyframes rise{to{transform:translateY(-14%)}}
.video .hill{position:absolute;left:-10%;right:-10%;bottom:0;height:45%;background:#141a33;border-radius:50% 50% 0 0/40% 40% 0 0}
.video .hill.b{height:34%;left:30%;background:#0c1024;border-radius:60% 40% 0 0/50% 50% 0 0}
.caption{position:absolute;left:50%;bottom:11%;translate:-50% 0;background:rgba(0,0,0,.62);color:#fff;font:600 clamp(12px,1.3vw,16px)/1.3 var(--sans);padding:7px 13px;border-radius:9px;white-space:nowrap;max-width:92%;overflow:hidden;text-overflow:ellipsis}
.caption span.on{color:#ffd166}
.rec{position:absolute;top:10px;left:10px;display:flex;gap:6px;align-items:center;font:600 10px var(--mono);color:#fff;background:rgba(0,0,0,.45);padding:5px 8px;border-radius:6px}
.rec:before{content:"";width:7px;height:7px;border-radius:50%;background:#ff4d4d;animation:blink 1.2s infinite}
@keyframes blink{50%{opacity:.2}}
.jobs{padding:0 14px 14px;display:grid;gap:8px}
.job{display:grid;grid-template-columns:34px minmax(0,1fr) auto;gap:4px 12px;align-items:center;padding:11px 12px;border-radius:13px;background:var(--card-2);border:1px solid var(--line)}
.ji{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;color:#fff;font:600 11px var(--mono);background:linear-gradient(135deg,var(--c,#5f50ee),#e0487a)}
.job b{font-size:13.5px;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.job small{font:11px var(--mono);color:var(--dim)}
.job .pct{font:600 12px var(--mono);color:var(--teal)}
.track{grid-column:2/4;height:4px;border-radius:4px;background:var(--line);overflow:hidden}
.track i{display:block;height:100%;border-radius:4px;background:linear-gradient(90deg,var(--teal),var(--violet));width:0}
.float{position:absolute;display:flex;align-items:center;gap:9px;padding:10px 14px;border-radius:14px;background:var(--glass);border:1px solid var(--line);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);font-size:13px;font-weight:600;animation:bob 6s ease-in-out infinite}
.float small{display:block;font:500 11px var(--mono);color:var(--dim)}
.float .ic{color:var(--violet);width:20px;height:20px}
.float.f1{left:-34px;top:22%}.float.f2{right:-22px;bottom:14%;animation-delay:-3s}
.float .dot{width:9px;height:9px;border-radius:50%;background:var(--teal);box-shadow:0 0 0 5px var(--soft-teal)}
@keyframes bob{50%{transform:translateY(-10px)}}

/* stores */
.stores{padding:30px 0 10px}
.stores p{text-align:center;font:500 12px var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--dim);margin-bottom:18px}
.store-row{display:flex;justify-content:center;flex-wrap:wrap;gap:12px}
.store{display:flex;align-items:center;gap:10px;padding:10px 18px;border-radius:14px;border:1px solid var(--line);background:var(--card);box-shadow:var(--shadow-sm);font-size:14px;font-weight:600;transition:transform .3s var(--ease),border-color .3s}
.store:hover{transform:translateY(-3px);border-color:var(--line-2)}
.store small{display:block;font:500 10.5px var(--mono);color:var(--dim);text-transform:uppercase;letter-spacing:.06em}
.store .ic{width:22px;height:22px}
.store.is-windows .ic{color:#0078d4}
.store.is-mac .ic,.store.is-ios .ic{color:var(--text)}
.store.is-wordpress .ic{color:#21759b}

/* sections */
.sec{padding:110px 0;position:relative}
.sec.flush{padding-top:0}
.ph+.sec{padding-top:70px}
.head{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;margin-bottom:48px}
.head h2{font-size:clamp(34px,4.6vw,60px);margin-top:16px;max-width:760px}
.head.no-title{margin-bottom:28px}
.head-side{color:var(--muted);max-width:420px;font-size:17px}
.head-side p+p{margin-top:10px}
.prose-b{max-width:760px;color:var(--muted);font-size:17.5px;line-height:1.7}
.prose-b p+p,.prose-b p+.embed,.prose-b .embed+p{margin-top:16px}
.head+.prose-b{margin-top:-18px}
.sec-prose .prose-b{margin:0}

/* grids and cards */
.grid{display:grid;gap:16px}
.cols-1{grid-template-columns:1fr}.cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.card{position:relative;display:flex;flex-direction:column;gap:12px;padding:28px;border-radius:var(--r);background:var(--card);border:1px solid var(--line);box-shadow:var(--shadow-sm);overflow:hidden;transition:transform .45s var(--ease),box-shadow .45s var(--ease),border-color .3s}
.card:hover{transform:translateY(-4px);box-shadow:var(--shadow);border-color:var(--line-2)}
.card h3{font-size:20px;letter-spacing:-.02em;margin-top:6px}
.card p{color:var(--muted);font-size:15px;line-height:1.55}
.card .card-sub{font:500 12.5px var(--mono);color:var(--dim)}
.card .card-price{font-size:22px;font-weight:600;color:var(--text)}
.card-badge{position:absolute;top:22px;right:22px}
.card-img{margin:-28px -28px 8px;width:calc(100% + 56px);max-width:none;aspect-ratio:16/10;object-fit:cover;object-position:top;border-bottom:1px solid var(--line)}
.card.slim{flex-direction:row;align-items:flex-start;padding:22px;gap:16px}
.card.slim h3{margin:0 0 4px;font-size:17px}
.card .mi .ic,.card.slim .mi .ic{color:var(--violet)}
.card:hover .mi{background:var(--invert);color:var(--invert-text)}
.card:hover .mi .ic{color:var(--invert-text)}
.card .mi{transition:.4s var(--ease)}
.spot:before{content:"";position:absolute;inset:0;border-radius:inherit;background:radial-gradient(360px circle at var(--mx,50%) var(--my,-20%),var(--soft),transparent 60%);opacity:0;transition:opacity .4s;pointer-events:none}
.spot:hover:before{opacity:1}
.tag{display:inline-block;font:600 10.5px/1.2 var(--mono);letter-spacing:.04em;text-transform:uppercase;padding:5px 8px;border-radius:7px;background:var(--soft-teal);color:var(--teal)}
.tag.v{background:var(--soft);color:var(--violet)}
.chipgrid{display:flex;flex-wrap:wrap;gap:10px}
.checks{list-style:none;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 28px;color:var(--muted)}
.checks.one,.card .checks,.tier .checks,.price .checks{grid-template-columns:1fr}
.checks.tight{gap:10px}
.checks li{position:relative;padding-left:30px;line-height:1.5}
.checks li:before{content:"";position:absolute;left:0;top:2px;width:20px;height:20px;border-radius:50%;background:var(--soft-teal) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230a8f79' stroke-width='3'%3E%3Cpath d='M6 12l4 4 8-8'/%3E%3C/svg%3E") center/12px no-repeat}
.checks strong,.checks b{color:var(--text)}
.sec .checks{font-size:15.5px}

/* paths */
.paths{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.path{position:relative;overflow:hidden;border-radius:var(--r-lg);padding:40px;min-height:400px;background:var(--card);border:1px solid var(--line);box-shadow:var(--shadow-sm);display:flex;flex-direction:column;transition:transform .5s var(--ease),box-shadow .5s var(--ease)}
.path:hover{transform:translateY(-6px);box-shadow:var(--shadow)}
.path h3{font-size:clamp(30px,3vw,42px);margin:16px 0 12px}
.path p{color:var(--muted);max-width:440px}
.path .chips{display:flex;flex-wrap:wrap;gap:8px;margin:22px 0 auto}
.path .btn{align-self:flex-start;margin-top:28px}
.path .art{position:absolute;right:-60px;bottom:-60px;width:300px;height:300px;border-radius:50%;filter:blur(50px);opacity:.5;transition:transform .8s var(--ease);pointer-events:none}
.path:hover .art{transform:scale(1.25)}

/* app finder */
.filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:28px}
.filter{display:inline-flex;align-items:center;gap:8px;min-height:42px;padding:0 16px;border-radius:999px;border:1px solid var(--line-2);background:var(--card);font-size:14px;font-weight:500;color:var(--muted);transition:.25s}
.filter em{font:500 11px var(--mono);font-style:normal;color:var(--dim);background:var(--bg-2);padding:3px 7px;border-radius:999px}
.filter .ic{width:15px;height:15px}
.filter:hover{color:var(--text);border-color:var(--text)}
.filter.on{background:var(--invert);color:var(--invert-text);border-color:var(--invert)}
.filter.on em{background:rgba(127,127,127,.25);color:inherit}
.filter.alt.on{background:var(--teal);border-color:var(--teal);color:#fff}
.grid-p{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.prod{position:relative;display:flex;flex-direction:column;gap:14px;padding:22px;border-radius:var(--r);background:var(--card);border:1px solid var(--line);box-shadow:var(--shadow-sm);min-height:250px;transition:transform .45s var(--ease),box-shadow .45s var(--ease),opacity .3s,border-color .3s}
.prod:hover{transform:translateY(-5px);box-shadow:var(--shadow);border-color:var(--line-2)}
.prod.out{opacity:0;transform:scale(.95)}
.prod[hidden]{display:none}
.prod .top{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}
.pi{width:46px;height:46px;border-radius:14px;display:grid;place-items:center;flex:none;color:#fff;background:var(--c,#5f50ee);background:linear-gradient(135deg,var(--c,#5f50ee),color-mix(in srgb,var(--c,#5f50ee) 55%,#e0487a));box-shadow:inset 0 1px 0 rgba(255,255,255,.3),0 6px 14px -6px color-mix(in srgb,var(--c,#5f50ee) 80%,transparent)}
.pi svg{width:22px;height:22px;fill:none;stroke:#fff;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.app-id .pi{width:56px;height:56px;border-radius:16px}.app-id .pi svg{width:26px;height:26px}
.prod h3{font-size:17.5px;letter-spacing:-.02em}
.prod p{font-size:14px;color:var(--muted);line-height:1.5;margin-top:4px}
.feats{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:6px}
.feats li{font:500 11px var(--mono);color:var(--dim);background:var(--bg-2);padding:4px 8px;border-radius:6px}
.prod .foot{margin-top:auto;display:flex;justify-content:space-between;align-items:center;gap:10px;font:12px var(--mono);color:var(--dim)}
.prod .go{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;border:1px solid var(--line-2);color:var(--text);transition:.3s var(--ease);flex:none}
.prod .go .ic{width:15px;height:15px}
.prod:hover .go{background:var(--invert);color:var(--invert-text);transform:rotate(-45deg)}
.more{display:flex;justify-content:center;margin-top:36px}
.search-app{position:relative;display:flex;align-items:center;width:min(560px,100%);margin-top:26px}
.search-app .ic{position:absolute;left:20px;color:var(--dim)}
.search-app input,.search-form .search-field{width:100%;height:56px;border-radius:999px;border:1px solid var(--line-2);background:var(--card);padding:0 22px 0 50px;font-size:16px;box-shadow:var(--shadow-sm);outline:none;transition:border-color .2s,box-shadow .2s}
.search-app input:focus,.search-form .search-field:focus{border-color:var(--violet);box-shadow:0 0 0 5px var(--soft)}
.empty{text-align:center;color:var(--muted);padding:40px 0}
.search-form{position:relative;display:flex;align-items:center;gap:8px;width:min(560px,100%);margin:24px auto 0}
.search-form>.ic{position:absolute;left:20px;color:var(--dim)}
.search-form .btn{position:absolute;right:7px}

/* sticky demo */
.spot-wrap{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:70px}
.sticky{position:sticky;top:110px;height:min(540px,70vh);border-radius:var(--r-lg);background:var(--card);border:1px solid var(--line);box-shadow:var(--shadow);overflow:hidden}
.scene{position:absolute;inset:0;padding:30px;display:flex;flex-direction:column;justify-content:center;gap:14px;opacity:0;transform:translateY(24px) scale(.98);transition:.7s var(--ease)}
.scene.on{opacity:1;transform:none}
.scene .lbl{font:500 12px var(--mono);color:var(--dim);text-transform:uppercase;letter-spacing:.1em}
.drop{border:2px dashed var(--line-2);border-radius:18px;padding:36px;text-align:center;color:var(--muted)}
.drop .ic{width:30px;height:30px;color:var(--violet)}
.drop b{display:block;font-size:22px;color:var(--text);margin:10px 0 4px}
.file{display:flex;gap:12px;align-items:center;padding:14px;border-radius:14px;background:var(--card-2);border:1px solid var(--line)}
.file .ji{width:40px;height:40px}.file small{display:block;font:12px var(--mono);color:var(--dim)}
.lines p{display:flex;gap:14px;padding:10px 12px;border-radius:10px;font-size:14.5px;border:1px solid transparent}
.lines time{font:12px var(--mono);color:var(--dim);flex:none;padding-top:2px}
.lines p.edit{border-color:var(--violet);background:var(--soft)}
.styles{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.sty{aspect-ratio:16/10;border-radius:12px;display:grid;place-items:end center;padding:10px;background:linear-gradient(160deg,#2b3566,#c9776a);color:#fff;font-weight:700;font-size:13px;border:2px solid transparent}
.sty.on{border-color:var(--violet);box-shadow:0 0 0 4px var(--soft)}
.sty span{background:rgba(0,0,0,.55);padding:3px 8px;border-radius:6px}
.sty:nth-child(2) span{background:#ffd166;color:#111}.sty:nth-child(3) span{background:none;text-shadow:0 2px 8px #000;font-size:15px}
.exports{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
.exp{padding:18px;border-radius:14px;border:1px solid var(--line);background:var(--card-2);font-weight:600}
.exp small{display:block;font:12px var(--mono);color:var(--dim);font-weight:400}
.exp.on{border-color:var(--teal);background:var(--soft-teal)}
.st-shot{display:none}
.st{min-height:62vh;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;opacity:.35;transition:opacity .5s}
.st.on{opacity:1}
.st .n{font:500 13px var(--mono);color:var(--violet)}
.st h3{font-size:clamp(28px,3vw,40px);margin:12px 0}
.st p{color:var(--muted);font-size:17px;max-width:420px}
.st .btn{margin-top:26px}

/* compare */
.compare{border-radius:var(--r-lg);overflow:hidden;border:1px solid var(--line);background:var(--card);box-shadow:var(--shadow-sm)}
.row{display:grid;grid-template-columns:1.2fr 1fr 1fr;border-bottom:1px solid var(--line)}
.row:last-child{border:0}
.row>div{padding:20px 26px;display:flex;align-items:center;gap:10px;font-size:15px}
.row.h>div{font:600 12px var(--mono);text-transform:uppercase;letter-spacing:.08em;color:var(--dim);background:var(--card-2)}
.row>div:nth-child(3){background:var(--soft);font-weight:600}
.row.h>div:nth-child(3){color:var(--violet)}
.x{color:var(--rose)}.ok{color:var(--teal)}

/* stats */
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.stat{padding:30px;border-radius:var(--r);background:var(--card);border:1px solid var(--line);box-shadow:var(--shadow-sm)}
.stat b{display:block;font-size:clamp(44px,5vw,64px);letter-spacing:-.05em;font-weight:600;line-height:1}
.stat span{display:block;margin-top:10px;color:var(--muted);font-size:14px}

/* services */
.svc{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}
.sv{position:relative;padding:30px 26px 34px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-height:230px;display:flex;flex-direction:column;gap:12px;transition:background .4s}
.sv:hover{background:var(--card)}
.sv .mi{transition:transform .5s var(--ease),background .3s,color .3s}
.sv:hover .mi{transform:rotate(-8deg) scale(1.08);background:var(--invert);color:var(--invert-text)}
.sv h3{font-size:19px;letter-spacing:-.02em;margin-top:8px}
.sv p{color:var(--muted);font-size:14px}
.sv .lnk{margin-top:auto;color:var(--text);opacity:.55;transition:.3s}
.sv:hover .lnk{opacity:1;gap:10px}

/* process */
.process{display:grid;gap:16px;position:relative}
.pr{padding:28px;border-radius:var(--r);background:var(--card);border:1px solid var(--line);position:relative}
.pr .n{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;font:600 13px var(--mono);border:1px solid var(--line-2);background:var(--card-2)}
.pr h3{font-size:21px;margin:20px 0 8px}.pr p{color:var(--muted);font-size:14.5px}
.pr .checks{margin-top:12px;font-size:14px}
.line-draw{position:absolute;top:48px;left:12%;right:12%;height:1px;background:var(--line-2);z-index:0}
.process .pr{z-index:1}
.line-draw i{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--teal),var(--violet));transition:width 1.8s var(--ease)}
.line-draw.in i{width:100%}

/* reviews */
.marq{overflow:hidden;padding:10px 0;-webkit-mask:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent);mask:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent)}
.mrow{display:flex;gap:16px;width:max-content;animation:mq 60s linear infinite}
.marq:hover .mrow{animation-play-state:paused}
@keyframes mq{to{transform:translateX(-50%)}}
.rv{width:360px;padding:24px;border-radius:var(--r);background:var(--card);border:1px solid var(--line);box-shadow:var(--shadow-sm)}
.rv p{font-size:15.5px;margin:12px 0 18px;line-height:1.5}
.who{display:flex;gap:10px;align-items:center;font-size:13.5px;font-weight:600}
.who i{width:34px;height:34px;border-radius:50%;background:linear-gradient(135deg,var(--teal),var(--violet))}
.who small{display:block;font-weight:400;color:var(--dim);font-size:12px}

/* pricing */
.prices{display:grid;gap:16px;align-items:stretch}
.price{position:relative;padding:34px;border-radius:var(--r-lg);background:var(--card);border:1px solid var(--line);box-shadow:var(--shadow-sm);display:flex;flex-direction:column}
.price.pop{background:var(--invert);color:var(--invert-text);border-color:var(--invert);box-shadow:var(--shadow);transform:translateY(-10px)}
.price.pop .muted,.price.pop .checks{color:inherit;opacity:.8}
.price .badge{position:absolute;top:-12px;left:34px;font:600 11px var(--mono);padding:6px 10px;border-radius:999px;background:linear-gradient(90deg,var(--teal),var(--violet));color:#fff;letter-spacing:.04em;text-transform:uppercase}
.price h3{font-size:20px}
.amt{font-size:52px;font-weight:600;letter-spacing:-.05em;margin:22px 0 4px;line-height:1}
.amt small{font-size:14px;font-weight:500;letter-spacing:0;opacity:.6;margin-left:6px}
.price .checks{margin:22px 0 28px}
.price-cta{margin-top:auto}.price-cta .btn{width:100%}
.price.pop .btn.p{background:var(--bg);color:var(--text)}
.guar{display:flex;justify-content:center;gap:12px 28px;flex-wrap:wrap;margin-top:34px;color:var(--muted);font-size:14px}
.guar>*{display:flex;gap:8px;align-items:center}.guar .ic{color:var(--teal)}
.guar a:hover{color:var(--text)}
.tiers{display:grid;gap:16px}
.tier{padding:34px;border-radius:var(--r-lg);background:var(--card);border:1px solid var(--line);box-shadow:var(--shadow-sm);display:flex;flex-direction:column;gap:14px}
.tier.pro{background:linear-gradient(150deg,var(--card) 30%,var(--soft));border-color:var(--violet)}
.tier h3{font-size:24px;display:flex;gap:10px;align-items:center}
.tier .amt{margin:4px 0}
.tier p{color:var(--muted)}

/* faq */
.faq-wrap{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:60px}
.faq-wrap h2{font-size:clamp(34px,4.2vw,54px);margin:18px 0}
.faq-wrap .muted-p{margin-bottom:24px}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:22px 0;font-size:18px;font-weight:600;letter-spacing:-.02em}
.faq summary::-webkit-details-marker{display:none}
.faq summary i{width:32px;height:32px;border-radius:50%;border:1px solid var(--line-2);display:grid;place-items:center;flex:none;font-style:normal;transition:transform .4s var(--ease),background .3s,color .3s}
.faq details[open] summary i{transform:rotate(45deg);background:var(--invert);color:var(--invert-text)}
.faq .ans{color:var(--muted);padding:0 50px 22px 0;animation:fade .5s var(--ease)}
.faq .ans p+p,.faq .ans ul{margin-top:10px}
@keyframes fade{from{opacity:0;transform:translateY(-6px)}}

/* gallery, table, embeds */
.gallery{display:grid;gap:16px}
.gallery figure{border-radius:18px;overflow:hidden;background:var(--card);border:1px solid var(--line);box-shadow:var(--shadow-sm)}
.gallery .zoom{display:block;width:100%;cursor:zoom-in}
.gallery img{width:100%;aspect-ratio:16/10;object-fit:cover;object-position:top;transition:transform .6s var(--ease)}
.gallery figure:hover img{transform:scale(1.03)}
.gallery figcaption{padding:12px 16px;font-size:13.5px;color:var(--muted)}
.table-wrap{overflow-x:auto;border-radius:var(--r);border:1px solid var(--line);background:var(--card)}
.table-wrap table,.prose table{width:100%;border-collapse:collapse;font-size:15px}
.table-wrap th,.table-wrap td,.prose th,.prose td{padding:14px 18px;text-align:left;border-bottom:1px solid var(--line);vertical-align:top}
.table-wrap th,.prose th{font:600 12px var(--mono);text-transform:uppercase;letter-spacing:.06em;color:var(--dim);background:var(--card-2)}
.table-wrap tr:last-child td{border-bottom:0}
.embed{margin-top:8px}
.embed iframe,.embed video{width:100%;border:0;border-radius:18px;aspect-ratio:16/9;height:auto}
.quote{font-family:var(--serif);font-size:clamp(24px,2.6vw,34px);line-height:1.25;max-width:880px;padding-left:24px;border-left:3px solid var(--violet)}
.sec>.wrap>*+*{margin-top:28px}
.sec>.wrap>.head+*{margin-top:0}

/* bands */
.band-sec{padding-top:40px}
.final{position:relative;overflow:hidden;border-radius:40px;padding:100px 40px;text-align:center;background:var(--invert);color:var(--invert-text)}
.final h2{font-size:clamp(38px,5.6vw,80px);max-width:960px;margin:18px auto;letter-spacing:-.05em}
.final p{opacity:.72;max-width:560px;margin:0 auto;font-size:18px}
.final .cta{justify-content:center}
.final .btn.p{background:var(--bg);color:var(--text)}
.final .btn.o{background:transparent;color:inherit;border-color:rgba(127,127,127,.45)}
.final .eyebrow{color:inherit;opacity:.7}
.final canvas.loom{opacity:.55}
.final>*{position:relative}

/* blog */
.posts{display:grid;gap:18px}
.post-card{position:relative;display:flex;flex-direction:column;border-radius:var(--r);background:var(--card);border:1px solid var(--line);box-shadow:var(--shadow-sm);overflow:hidden;transition:transform .45s var(--ease),box-shadow .45s var(--ease)}
.post-card:hover{transform:translateY(-5px);box-shadow:var(--shadow)}
.post-card .thumb{display:block;aspect-ratio:16/10;overflow:hidden;background:var(--bg-2)}
.post-card .thumb img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease)}
.post-card:hover .thumb img{transform:scale(1.05)}
.ph-thumb{display:grid;place-items:center;width:100%;height:100%;background:radial-gradient(80% 80% at 80% 0%,var(--soft),transparent),radial-gradient(70% 70% at 0% 100%,var(--soft-teal),transparent)}
.ph-thumb .ic{width:44px;height:44px;color:var(--violet);opacity:.7}
.pc-body{display:flex;flex-direction:column;gap:10px;padding:22px 22px 24px;flex:1}
.pc-meta{font:500 12px var(--mono);color:var(--dim);text-transform:uppercase;letter-spacing:.06em}
.post-card h3{font-size:19px;letter-spacing:-.02em;line-height:1.25}
.pc-ex{color:var(--muted);font-size:14.5px;line-height:1.55}
.post-card .lnk{margin-top:auto;padding-top:6px}
.post-card.big{grid-column:1/-1;display:grid;grid-template-columns:1.2fr 1fr}
.post-card.big .thumb{aspect-ratio:auto;min-height:340px}
.post-card.big .pc-body{padding:40px;justify-content:center}
.post-card.big h3{font-size:clamp(26px,3vw,38px);letter-spacing:-.03em}
.pager{margin-top:44px}
.pager .nav-links{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}
.pager .page-numbers{display:grid;place-items:center;min-width:44px;height:44px;padding:0 12px;border-radius:999px;border:1px solid var(--line-2);background:var(--card);font-weight:600;font-size:14px}
.pager .page-numbers.current{background:var(--invert);color:var(--invert-text);border-color:var(--invert)}
.post-meta{display:flex;flex-wrap:wrap;justify-content:center;gap:6px 18px;color:var(--dim);font:13px var(--mono)}
.post-cover{margin-top:10px;border-radius:26px;overflow:hidden;border:1px solid var(--line);box-shadow:var(--shadow)}
.post-cover img{width:100%}
.sec-article{padding:60px 0 50px}
.prose{max-width:740px;margin:0 auto;font-size:18px;line-height:1.75;color:var(--text)}
.prose>*+*{margin-top:1.1em}
.prose h2{font-size:clamp(26px,3vw,34px);margin-top:1.9em;letter-spacing:-.03em}
.prose h3{font-size:clamp(21px,2.3vw,25px);margin-top:1.6em;letter-spacing:-.02em}
.prose h4{font-size:19px;margin-top:1.4em}
.prose p,.prose li{color:color-mix(in srgb,var(--text) 84%,var(--bg))}
.prose a{color:var(--violet);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
.prose a:hover{text-decoration-thickness:2px}
.prose ul,.prose ol{padding-left:1.3em}
.prose li+li{margin-top:.4em}
.prose li::marker{color:var(--violet)}
.prose img,.prose figure img{border-radius:18px;height:auto}
.prose figure{margin-left:0;margin-right:0}
.prose figcaption{font-size:14px;color:var(--dim);text-align:center;margin-top:10px}
.prose blockquote{font-family:var(--serif);font-size:1.4em;line-height:1.35;padding-left:22px;border-left:3px solid var(--violet)}
.prose code{font:.88em var(--mono);background:var(--bg-2);padding:2px 6px;border-radius:6px}
.prose pre{background:var(--invert);color:var(--invert-text);padding:20px;border-radius:16px;overflow-x:auto;font:14px/1.6 var(--mono)}
.prose pre code{background:none;padding:0}
.prose hr{border:0;height:1px;background:var(--line-2);margin:2.4em 0}
.prose .wp-block-button__link{display:inline-flex;padding:12px 22px;border-radius:999px;background:var(--invert);color:var(--invert-text);text-decoration:none;font-weight:600}
.prose .alignwide{max-width:1000px;margin-left:50%;transform:translateX(-50%);width:min(1000px,92vw)}
.prose .alignfull{width:100vw;max-width:100vw;margin-left:50%;transform:translateX(-50%)}
.prose .aligncenter{margin-left:auto;margin-right:auto}
.prose .wp-block-table{overflow-x:auto}
.post-tags{display:flex;flex-wrap:wrap;gap:8px}
.post-tags a{font:500 12px var(--mono);padding:6px 12px;border-radius:999px;border:1px solid var(--line-2);color:var(--muted);text-decoration:none}
.author-box{display:flex;gap:18px;align-items:center;padding:24px;border-radius:var(--r);background:var(--card);border:1px solid var(--line);margin-top:20px}
.author-box img{border-radius:50%}
.author-box p{color:var(--muted);font-size:14.5px;margin-top:4px}
.post-nav{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:16px}
.post-nav a{display:block;padding:20px;border-radius:var(--r);background:var(--card);border:1px solid var(--line);font-weight:600;line-height:1.35;height:100%}
.post-nav small{display:block;font:500 11px var(--mono);color:var(--dim);text-transform:uppercase;letter-spacing:.08em;margin-bottom:6px}
.post-nav .next{text-align:right;grid-column:2}
/* Easy Table of Contents and share buttons inside posts */
.prose #ez-toc-container,.prose .ez-toc-v2_0_17{width:100%!important;background:var(--card)!important;border:1px solid var(--line)!important;border-radius:18px!important;padding:20px 24px!important;box-shadow:var(--shadow-sm)!important}
.prose #ez-toc-container a{color:var(--text)!important;text-decoration:none}
.prose #ez-toc-container .ez-toc-title{font:600 13px var(--mono)!important;text-transform:uppercase;letter-spacing:.08em;color:var(--dim)!important}
.prose .ssba,.prose .ssba-wrap{margin-top:2em}
.comments{margin-top:40px}
.comment-list{list-style:none;padding:0}
.comment-list .comment{padding:18px 0;border-bottom:1px solid var(--line)}
.comment-form input:not([type=submit]):not([type=checkbox]),.comment-form textarea{width:100%;padding:14px 16px;border-radius:14px;border:1px solid var(--line-2);background:var(--card)}
.comment-form .submit{min-height:48px;padding:0 22px;border-radius:999px;border:0;background:var(--invert);color:var(--invert-text);font-weight:600;cursor:pointer}

/* forms (Fluent Forms and core) */
.embed .fluentform,.prose .fluentform{max-width:760px}
.ff-el-group{margin-bottom:18px!important}
.ff-el-input--label label{font-weight:600!important;color:var(--text)!important;font-size:14.5px!important}
.fluentform .ff-el-form-control,.fluentform select,.fluentform textarea{border-radius:14px!important;border:1px solid var(--line-2)!important;background:var(--card)!important;color:var(--text)!important;padding:13px 16px!important;min-height:50px;box-shadow:none!important;transition:border-color .2s,box-shadow .2s}
.fluentform .ff-el-form-control:focus{border-color:var(--violet)!important;box-shadow:0 0 0 5px var(--soft)!important}
.fluentform .ff-btn-submit{min-height:50px!important;padding:0 26px!important;border-radius:999px!important;background:var(--invert)!important;color:var(--invert-text)!important;border:0!important;font-weight:600!important;font-size:15px!important}
.embed .fluentform{padding:34px;border-radius:var(--r-lg);background:var(--card-2);border:1px solid var(--line)}

/* original layout pages */
.loom-legacy{padding:calc(var(--top) + 110px) 0 60px}
.loom-legacy .bw-pro,.loom-legacy [class$="-container"],.loom-legacy .bw-product-page,.loom-legacy .bw-captions{margin-top:0!important}

/* footer */
footer.site{padding:90px 0 40px;color:var(--muted);font-size:14.5px}
.fgrid{display:grid;grid-template-columns:1.6fr repeat(4,1fr);gap:30px}
.fbrand p{margin:16px 0 18px;max-width:320px}
.fh{color:var(--text);font-size:14px;margin-bottom:14px;letter-spacing:-.01em}
.fgrid a{display:block;margin:8px 0;transition:color .2s}.fgrid a:hover{color:var(--text)}
.fgrid a.logo{display:flex;margin:0;color:var(--text)}
.fgrid li{list-style:none}
.social{display:flex;gap:8px}
.social a{display:grid;place-items:center;width:40px;height:40px;margin:0;border-radius:50%;border:1px solid var(--line-2);background:var(--card)}
.social a:hover{border-color:var(--text)}
.social .ic{width:17px;height:17px}
.fbot{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;margin-top:60px;padding-top:26px;border-top:1px solid var(--line);font-size:13px}
.fmode{display:flex;gap:12px;align-items:center}
.bigword{font-size:clamp(64px,17vw,260px);font-weight:700;letter-spacing:-.07em;line-height:.8;text-align:center;margin-top:60px;background:linear-gradient(180deg,var(--line-2),transparent 85%);-webkit-background-clip:text;background-clip:text;color:transparent;user-select:none;white-space:nowrap;overflow:hidden}
.totop{position:fixed;right:20px;bottom:20px;z-index:70;width:48px;height:48px;border-radius:50%;background:var(--invert);color:var(--invert-text);display:grid;place-items:center;box-shadow:var(--shadow);opacity:0;transform:translateY(20px);transition:.4s var(--ease);pointer-events:none}
.totop.show{opacity:1;transform:none;pointer-events:auto}
.totop .ic{transform:rotate(-90deg)}
.buybar{position:fixed;left:50%;bottom:18px;translate:-50% 0;z-index:75;display:flex;align-items:center;gap:14px;padding:8px 8px 8px 10px;border-radius:999px;background:var(--glass);border:1px solid var(--line);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);transform:translateY(160%);transition:transform .5s var(--ease);white-space:nowrap;max-width:calc(100vw - 100px)}
.buybar.show{transform:none}
.buybar .pi{width:36px;height:36px;border-radius:11px}.buybar .pi svg{width:18px;height:18px}
.buybar b{display:block;font-size:14px;overflow:hidden;text-overflow:ellipsis}.buybar small{display:block;font:11px var(--mono);color:var(--dim)}
.buybar .txt{min-width:0}
.lightbox{position:fixed;inset:0;z-index:120;background:rgba(5,6,10,.86);display:grid;place-items:center;padding:30px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.lightbox[hidden]{display:none}
.lightbox img{max-width:min(1400px,100%);max-height:88vh;border-radius:16px;box-shadow:0 30px 80px rgba(0,0,0,.6)}
.lb-close{position:absolute;top:20px;right:20px;width:46px;height:46px;border-radius:50%;background:#fff;color:#000;display:grid;place-items:center}

/* reveal (only when JavaScript runs) */
.js .r{opacity:0;transform:translateY(28px);filter:blur(6px);transition:opacity 1s var(--ease),transform 1s var(--ease),filter 1s var(--ease)}
.js .r.in{opacity:1;transform:none;filter:none}
.js .split .w{display:inline-block;opacity:0;transform:translateY(55%) rotate(3deg);filter:blur(8px);animation:up 1s var(--ease) forwards}
@keyframes up{to{opacity:1;transform:none;filter:none}}

/* responsive */
@media (max-width:1180px){.grid-p{grid-template-columns:repeat(3,minmax(0,1fr))}.svc{grid-template-columns:repeat(2,1fr)}.fgrid{grid-template-columns:1fr 1fr 1fr}.fbrand{grid-column:1/-1}.hide-md{display:none}.cols-4{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:960px){
  .menu,.wp-menu{display:none}.burger{display:grid}.actions{margin-left:auto}
  .hero .wrap,.ph.is-split .ph-grid,.paths,.spot-wrap,.faq-wrap,.post-card.big{grid-template-columns:minmax(0,1fr)}
  .window{transform:none}.float.f1{left:-6px}.float.f2{right:-6px}
  .grid-p,.cols-3{grid-template-columns:repeat(2,minmax(0,1fr))}
  .stats,.process.cols-4,.process.cols-3{grid-template-columns:1fr 1fr}
  .prices,.tiers{grid-template-columns:minmax(0,1fr)!important}
  .price.pop{transform:none}
  .head{flex-direction:column;align-items:flex-start;gap:16px}
  .sticky{position:relative;top:0;height:420px}
  .sticky{display:none}
  .st-shot{display:flex;flex-direction:column;justify-content:center;gap:14px;width:100%;margin-bottom:26px;padding:22px;border-radius:var(--r-lg);background:var(--card);border:1px solid var(--line);box-shadow:var(--shadow)}
  .st-shot .lbl{font:500 12px var(--mono);color:var(--dim);text-transform:uppercase;letter-spacing:.1em}
  .st-shot .drop{padding:24px}
  .st{min-height:auto;padding:30px 0;opacity:1}
  .line-draw{display:none}
  .sec{padding:84px 0}
  .ph.is-split .ph-copy{text-align:left}
  .post-card.big .thumb{min-height:220px}
}
@media (max-width:640px){
  .hide-sm{display:none}
  .grid-p,.stats,.process.cols-4,.process.cols-3,.process.cols-2,.svc,.cols-2,.cols-3,.cols-4,.checks{grid-template-columns:minmax(0,1fr)}
  .row{grid-template-columns:1.1fr 1fr 1fr}.row>div{padding:14px 12px;font-size:13px}
  .path{padding:28px;min-height:auto}
  .cta{flex-direction:column;align-items:stretch}.cta .btn{width:100%}
  .price-tag{align-self:flex-start;padding-left:0}
  .final{padding:80px 22px;border-radius:28px}
  .fgrid{grid-template-columns:1fr 1fr}
  .rv{width:290px}
  .buybar{left:12px;right:84px;translate:0 0;max-width:none}
  .buybar .txt{display:none}.buybar .btn{flex:1}
  .styles{grid-template-columns:1fr 1fr}
  .card,.price,.tier{padding:24px}
  .faq .ans{padding-right:0}
  .post-nav{grid-template-columns:1fr}.post-nav .next{grid-column:1;text-align:left}
  .search-form .btn{display:none}
  .prose{font-size:17px}
}
@media (prefers-reduced-motion:reduce){
  *,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
  .js .r,.js .split .w{opacity:1;transform:none;filter:none}
}
@media print{header.site,.drawer,.totop,.buybar,canvas.loom,.aurora,.progress{display:none!important}.js .r{opacity:1;transform:none;filter:none}}

/* inline call to action inside a page */
.sec{padding:96px 0}
.sec.flush{padding-top:0}
.sec-tight{padding:40px 0}
.cta-card{position:relative;overflow:hidden;display:flex;align-items:center;justify-content:space-between;gap:30px;padding:36px 40px;border-radius:var(--r-lg);background:linear-gradient(120deg,var(--card) 40%,var(--soft));border:1px solid var(--line);box-shadow:var(--shadow-sm)}
.cta-card h2{font-size:clamp(26px,3vw,38px)}
.cta-card p{color:var(--muted);margin-top:8px;max-width:560px}
.cta-card .cta{margin-top:0;flex:none}
@media (max-width:960px){.cta-card{flex-direction:column;align-items:flex-start;padding:28px}.sec{padding:80px 0}}
