:root{
	--fw-bg-0:#0B0D10;
	--fw-bg-1:#12151A;
	--fw-bg-2:#181C22;
	--fw-bg-3:#1F242B;
	--fw-border:#23262B;
	--fw-border-strong:#2E333B;
	--fw-text-primary:#EDEFF2;
	--fw-text-secondary:#9AA3AF;
	--fw-text-muted:#5C6470;
	--fw-accent:#0083FF;
	--fw-accent-strong:#3DA5FF;
	--fw-accent-dim:rgba(0,131,255,.14);
	--fw-success:#3ED598;
	--fw-warning:#FFB020;
	--fw-danger:#FF4D4F;
	--fw-radius-sm:6px;
	--fw-radius-md:10px;
	--fw-radius-lg:16px;
}
html:has(.fw-site-v2),body:has(.fw-site-v2){overflow-x:hidden}

.fw-global-header,.fw-global-footer{
	--bg-0:var(--fw-bg-0);
	--bg-1:var(--fw-bg-1);
	--bg-2:var(--fw-bg-2);
	--bg-3:var(--fw-bg-3);
	--border:var(--fw-border);
	--border-strong:var(--fw-border-strong);
	--text-primary:var(--fw-text-primary);
	--text-secondary:var(--fw-text-secondary);
	--text-muted:var(--fw-text-muted);
	--accent:var(--fw-accent);
	--accent-strong:var(--fw-accent-strong);
	--radius-sm:var(--fw-radius-sm);
	--font-sans:"Manrope",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
	width:100%;
	color:var(--text-primary);
	font-family:var(--font-sans);
}
.fw-global-header,.fw-global-header *,.fw-global-footer,.fw-global-footer *{box-sizing:border-box}
.fw-global-header{position:relative;z-index:1000}
.fw-global-header .site-nav{display:flex;align-items:center;justify-content:space-between;padding:16px max(32px,calc((100vw - 1280px)/2));border-bottom:1px solid var(--border);background:var(--bg-1)}
.fw-global-header .logo,.fw-global-footer .logo{display:flex;align-items:center;gap:10px;color:var(--text-primary);text-decoration:none}
.fw-global-header .logo-mark,.fw-global-footer .logo-mark{display:flex;width:24px;height:24px;align-items:center;justify-content:center;flex-shrink:0;border-radius:7px;background:var(--accent);color:#fff;font-size:12px;font-weight:800}
.fw-global-header .logo-text{color:var(--text-primary);font-size:14px;font-weight:800;letter-spacing:-.01em}
.fw-global-header .links{display:flex;gap:28px;font-size:13.5px;font-weight:600}
.fw-global-header .links a{color:var(--text-secondary);text-decoration:none}
.fw-global-header .links a:hover,.fw-global-header .utility a:hover{color:var(--text-primary)}
.fw-global-header .utility{display:flex;align-items:center;gap:18px;font-size:12.5px}
.fw-global-header .utility>a:not(.fw-nav-button){color:var(--text-muted);text-decoration:none}
.fw-global-header .fw-nav-button,.fw-global-footer .fw-footer-button{padding:8px 16px;border:1px solid var(--accent);border-radius:var(--radius-sm);background:var(--accent);color:#fff;text-decoration:none;font:600 12.5px var(--font-sans);cursor:pointer}
.fw-global-header .fw-nav-button:hover,.fw-global-footer .fw-footer-button:hover{border-color:var(--accent-strong);background:var(--accent-strong);color:#fff}
.fw-mobile-menu{display:none;position:relative}
.fw-mobile-menu summary{display:flex;width:38px;height:38px;align-items:center;justify-content:center;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--bg-2);color:var(--text-primary);cursor:pointer;list-style:none}
.fw-mobile-menu summary::-webkit-details-marker{display:none}
.fw-mobile-menu summary i{font-size:20px}
.fw-mobile-menu summary:focus{outline:none}
.fw-mobile-menu summary:focus-visible{border-color:var(--accent);outline:2px solid var(--accent);outline-offset:2px}
.fw-mobile-menu nav{position:absolute;top:46px;right:0;display:grid;width:min(280px,calc(100vw - 40px));padding:10px;border:1px solid var(--border);border-radius:var(--fw-radius-md);background:var(--bg-1);box-shadow:0 18px 50px rgba(0,0,0,.5)}
.fw-mobile-menu nav a{padding:10px 12px;border-radius:var(--radius-sm);color:var(--text-secondary);font-size:13.5px;font-weight:600;text-decoration:none}
.fw-mobile-menu nav a:hover{background:var(--bg-2);color:var(--text-primary)}
.fw-global-footer.site-footer{width:100%;padding:48px 40px 28px;border-top:1px solid var(--border);background:var(--bg-1)}
.fw-global-footer .foot-top{display:flex;justify-content:space-between;gap:40px;max-width:1280px;margin:0 auto 36px}
.fw-global-footer .foot-brand{max-width:260px}
.fw-global-footer .foot-brand .logo{margin-bottom:14px}
.fw-global-footer .foot-brand .logo-mark{width:22px;height:22px;font-size:11px}
.fw-global-footer .foot-brand .logo-text{color:var(--text-primary);font-size:13px;font-weight:800}
.fw-global-footer .foot-brand p{margin:0;color:var(--text-muted);font-size:13px;line-height:1.6}
.fw-global-footer .foot-cols{display:flex;gap:40px}
.fw-global-footer .foot-col h4{margin:0 0 12px;color:var(--text-muted);font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}
.fw-global-footer .foot-col a{display:block;margin-bottom:9px;color:var(--text-secondary);font-size:13px;text-decoration:none}
.fw-global-footer .foot-col a:hover{color:var(--text-primary)}
.fw-global-footer .foot-newsletter{display:flex;gap:10px;max-width:1280px;margin:0 auto;padding:20px 0;border-top:1px solid var(--border);align-items:center;flex-wrap:wrap}
.fw-global-footer .foot-newsletter input{width:100%;max-width:280px;padding:9px 12px;border:1px solid var(--border-strong);border-radius:var(--radius-sm);outline:none;background:var(--bg-2);color:var(--text-primary);font:13.5px var(--font-sans)}
.fw-global-footer .foot-newsletter input:focus{border-color:var(--accent)}
.fw-global-footer .foot-bottom{display:flex;justify-content:space-between;align-items:center;max-width:1280px;margin:0 auto;padding-top:20px;border-top:1px solid var(--border);color:var(--text-muted);font-size:12px;flex-wrap:wrap;gap:12px}
.fw-global-footer .foot-bottom a{color:inherit;text-decoration:none}
.fw-global-footer .foot-bottom a:hover{color:var(--text-primary)}
.fw-global-footer .foot-social{display:flex;gap:14px}
.fw-global-footer .foot-social a{line-height:1}
.fw-global-footer .foot-social i{color:var(--text-muted);font-size:16px}
.fw-global-footer .foot-social i:hover{color:var(--text-primary)}

.fw-site-v2{
	position:relative;
	left:50%;
	width:100vw!important;
	max-width:none!important;
	margin-block-start:0!important;
	margin-left:0!important;
	transform:translateX(-50vw);
	background:var(--fw-bg-0);
	color:var(--fw-text-primary);
	font-family:"Manrope",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
	font-size:15px;
	line-height:1.6;
	overflow:hidden;
}
.editor-styles-wrapper .fw-site-v2{
	position:static;
	left:auto;
	width:100%!important;
	max-width:none!important;
	margin-left:auto!important;
	transform:none;
	overflow:visible;
}
.fw-site-v2 *{box-sizing:border-box}
.fw-site-v2 h1,.fw-site-v2 h2,.fw-site-v2 h3,.fw-site-v2 h4{
	color:var(--fw-text-primary);
	font-family:"Manrope",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
	letter-spacing:-.02em;
}
.fw-site-v2 p,.fw-site-v2 li{color:var(--fw-text-secondary)}
.fw-site-v2 strong{color:var(--fw-text-primary)}
.fw-site-v2 code,.fw-site-v2 .fw2-mono{
	font-family:"JetBrains Mono",monospace;
}
.fw-site-v2>.wp-block-group{
	width:100%!important;
	max-width:none!important;
	margin-block-start:0;
}
body.page-id-114 .fw2-hero{
	min-height:690px;
	padding-top:clamp(108px,10vw,150px);
	padding-right:max(112px,calc((100vw - 1280px)/2));
	padding-bottom:clamp(82px,8vw,116px);
	padding-left:max(112px,calc((100vw - 1280px)/2));
	background:
		linear-gradient(90deg,rgba(11,13,16,.98) 0%,rgba(11,13,16,.9) 43%,rgba(11,13,16,.38) 72%,rgba(11,13,16,.78) 100%),
		url("https://fruworks.com/wp-content/uploads/2026/07/fruworks-bridge-bg-v1.png") center right/cover no-repeat;
	text-align:left;
}
body.page-id-114 .fw2-hero:after{display:none}
body.page-id-114 .fw2-hero .fw2-display{
	max-width:880px!important;
	margin:.18em 0!important;
}
body.page-id-114 .fw2-hero .fw2-lede{
	max-width:590px!important;
	margin:24px 0 32px!important;
}
body.page-id-114 .fw2-hero .fw2-buttons{justify-content:flex-start}
body.page-id-114 .fw2-hero .fw2-buttons{margin-left:0!important;margin-right:auto!important}
body.page-id-115 .fw2-hero{
	background:
		linear-gradient(180deg,rgba(11,13,16,.42) 0%,rgba(11,13,16,.72) 62%,var(--fw-bg-0) 100%),
		radial-gradient(ellipse 54% 62% at 50% 0%,rgba(0,131,255,.12),transparent 70%),
		url("https://fruworks.com/wp-content/uploads/2026/07/fruworks-network-bg-v1.png") center/cover no-repeat;
}
body.page-id-115 .fw2-hero{padding:88px 40px 56px}
body.page-id-115 .fw2-section{padding-top:72px;padding-bottom:72px}
.fw2-section{
	padding:clamp(72px,8vw,120px) clamp(20px,4vw,56px);
}
.fw2-section--compact{
	padding-top:clamp(48px,6vw,84px);
	padding-bottom:clamp(48px,6vw,84px);
}
.fw2-section>.alignwide,
.fw2-section>.wp-block-columns.alignwide,
.fw2-section>.wp-block-group.alignwide{
	width:100%!important;
	max-width:1280px!important;
}
.fw2-section-title{
	width:100%!important;
	max-width:820px!important;
	margin:.15em auto .35em!important;
	font-size:clamp(2.35rem,4.4vw,4.2rem);
	line-height:1.04;
}
.fw2-section-lede{
	max-width:700px!important;
	margin-left:auto!important;
	margin-right:auto!important;
	font-size:clamp(1rem,1.5vw,1.18rem);
}
.fw2-section>.fw2-eyebrow{
	width:100%!important;
	max-width:820px!important;
	margin-left:auto!important;
	margin-right:auto!important;
}
.fw2-eyebrow{
	margin:0 0 12px!important;
	color:var(--fw-accent)!important;
	font-family:"JetBrains Mono",monospace;
	font-size:.76rem;
	font-weight:600;
	letter-spacing:.08em;
	text-transform:uppercase;
}
.fw2-chip{
	display:inline-flex;
	width:auto;
	padding:5px 10px;
	border-radius:999px;
	background:var(--fw-bg-0);
	color:var(--fw-text-primary)!important;
	font-family:"JetBrains Mono",monospace;
	font-size:.7rem;
	font-weight:600;
	letter-spacing:.04em;
	text-transform:uppercase;
}
.fw2-hero{
	position:relative;
	padding:clamp(105px,12vw,184px) clamp(20px,4vw,56px) clamp(84px,9vw,132px);
	background:
		radial-gradient(ellipse 60% 55% at 50% 0%,rgba(0,131,255,.16),transparent 65%),
		var(--fw-bg-0);
	text-align:center;
}
.fw2-hero:after{
	content:"";
	position:absolute;
	right:8%;
	bottom:-100px;
	width:320px;
	height:320px;
	border:1px solid rgba(0,131,255,.18);
	border-radius:50%;
	box-shadow:0 0 0 72px rgba(0,131,255,.025),0 0 0 144px rgba(0,131,255,.015);
	pointer-events:none;
}
.fw2-hero>*{position:relative;z-index:1}
.fw2-hero .fw2-display{
	max-width:940px!important;
	margin:.18em auto!important;
	font-size:clamp(3.2rem,6.5vw,6.3rem);
	font-weight:800;
	line-height:.98;
	letter-spacing:-.045em;
}
.fw2-hero .fw2-lede{
	max-width:620px!important;
	margin:24px auto 32px!important;
	color:var(--fw-text-secondary);
	font-size:clamp(1.05rem,1.65vw,1.28rem);
}
.fw2-buttons{
	justify-content:center;
	gap:12px;
}
.fw-site-v2 .fw2-pill .wp-block-button__link{
	padding:13px 25px;
	border:1px solid var(--fw-accent);
	border-radius:999px;
	background:var(--fw-accent);
	color:#fff;
	font-size:.8rem;
	font-weight:800;
	letter-spacing:.05em;
	text-transform:uppercase;
	box-shadow:0 0 22px rgba(0,131,255,.38);
	transition:background-color .15s ease,border-color .15s ease,transform .15s ease;
}
.fw-site-v2 .fw2-pill .wp-block-button__link:hover{
	border-color:var(--fw-accent-strong);
	background:var(--fw-accent-strong);
	transform:translateY(-2px);
}
.fw-site-v2 .fw2-outline .wp-block-button__link{
	border-color:var(--fw-border-strong);
	background:transparent;
	color:var(--fw-text-primary);
	box-shadow:none;
}
.fw-site-v2 .fw2-outline .wp-block-button__link:hover{
	border-color:var(--fw-text-primary);
	background:var(--fw-bg-2);
}
.fw2-stats{
	padding:38px clamp(20px,4vw,56px);
	border-top:1px solid var(--fw-border);
	border-bottom:1px solid var(--fw-border);
	background:var(--fw-bg-1);
}
.fw2-stats>.wp-block-columns{
	max-width:980px!important;
	margin:0 auto!important;
}
.fw2-stat{text-align:center}
.fw2-stat .fw2-stat-number{
	margin:0!important;
	color:var(--fw-text-primary)!important;
	font-family:"JetBrains Mono",monospace;
	font-size:clamp(1.7rem,3vw,2.3rem);
	font-weight:700;
}
.fw2-stat p:last-child{
	margin:.25em 0 0;
	color:var(--fw-text-muted);
	font-size:.82rem;
}
.fw2-surface-1{background:var(--fw-bg-1)}
.fw2-surface-2{background:var(--fw-bg-2)}
.fw2-card{
	height:100%;
	padding:clamp(24px,3vw,36px);
	border:1px solid var(--fw-border);
	border-radius:var(--fw-radius-lg);
	background:var(--fw-bg-1);
}
.fw2-card:hover{border-color:var(--fw-border-strong)}
.fw2-card h3{font-size:clamp(1.25rem,2vw,1.7rem)}
.fw2-card p:last-child{margin-bottom:0}
.fw2-product-grid{gap:16px!important}
.fw2-product-card{
	position:relative;
	min-height:520px;
	padding:0!important;
	overflow:hidden;
	border:1px solid var(--fw-border);
	border-radius:var(--fw-radius-lg);
	background:var(--fw-bg-1);
}
.fw2-product-card .wp-block-cover{
	min-height:520px!important;
	border-radius:inherit;
}
.fw2-product-card .wp-block-cover__background{
	background:linear-gradient(115deg,rgba(0,131,255,.8) 0%,rgba(11,13,16,.28) 38%,rgba(11,13,16,.9) 72%,rgba(11,13,16,.98) 100%)!important;
	opacity:.88!important;
}
.fw2-product-card--soundcard .wp-block-cover__background{
	background:linear-gradient(115deg,rgba(31,36,43,.35) 0%,rgba(0,131,255,.52) 42%,rgba(11,13,16,.92) 76%,rgba(11,13,16,.98) 100%)!important;
}
.fw2-product-card .wp-block-cover__inner-container{
	display:flex;
	min-height:450px;
	flex-direction:column;
	align-items:flex-start;
	justify-content:flex-end;
	padding:clamp(26px,4vw,48px);
	text-align:left;
}
.fw2-product-card h3{
	max-width:520px;
	margin:.35em 0;
	font-size:clamp(2rem,4vw,3.7rem);
	font-weight:800;
	line-height:1;
}
.fw2-product-card p{max-width:520px;color:rgba(255,255,255,.78)}
.fw2-text-link{
	margin-top:12px!important;
	color:#fff!important;
	font-size:.84rem;
	font-weight:700;
}
.fw2-text-link a{color:#fff;text-decoration:none}
.fw2-text-link a:hover{color:var(--fw-accent-strong)}
.fw2-feature-grid{gap:1px!important;background:var(--fw-border)}
.fw2-feature-grid>.wp-block-column{background:var(--fw-bg-0)}
.fw2-feature{
	height:100%;
	padding:30px 26px;
	background:var(--fw-bg-0);
}
.fw2-feature .wp-block-image{margin:0 0 14px}
.fw2-feature img{
	width:28px!important;
	height:28px!important;
	object-fit:contain;
	filter:brightness(0) saturate(100%) invert(39%) sepia(98%) saturate(2315%) hue-rotate(196deg) brightness(103%);
}
.fw2-feature h3{font-size:1.08rem}
.fw2-feature p{margin-bottom:0;font-size:.9rem}
.fw2-signal-card{
	padding:clamp(24px,4vw,48px);
	border:1px solid var(--fw-border);
	border-radius:var(--fw-radius-lg);
	background:var(--fw-bg-1);
}
.fw2-signal-card>.wp-block-columns{
	width:100%!important;
	max-width:none!important;
}
.fw2-device{
	height:100%;
	padding:24px;
	border:1px solid var(--fw-border);
	border-radius:var(--fw-radius-md);
	background:var(--fw-bg-0);
}
.fw2-device .wp-block-image img{
	width:100%;
	max-height:280px;
	object-fit:contain;
}
.fw2-device h3{margin:.65em 0 .25em}
.fw2-connector{
	display:flex;
	height:100%;
	min-height:180px;
	flex-direction:column;
	align-items:center;
	justify-content:center;
	text-align:center;
}
.fw2-connector:before{
	content:"";
	display:block;
	width:100%;
	height:2px;
	margin-bottom:18px;
	background:var(--fw-accent);
	box-shadow:0 0 14px rgba(0,131,255,.75);
}
.fw2-connector .fw2-mono{color:var(--fw-accent-strong)!important;font-size:.72rem}
.fw2-tech-grid{gap:16px!important}
.fw2-tech-card{
	height:100%;
	padding:28px;
	border:1px solid var(--fw-border);
	border-radius:var(--fw-radius-lg);
	background:var(--fw-bg-1);
}
.fw2-tech-card .fw2-mono{color:var(--fw-accent-strong)!important;font-size:.72rem}
.fw2-tech-card h3{font-size:1.3rem}
.fw2-tech-card p{margin-bottom:0}
.fw2-steps{gap:16px!important}
.fw2-step{
	height:100%;
	padding:28px;
	border:1px solid var(--fw-border);
	border-radius:var(--fw-radius-lg);
	background:var(--fw-bg-1);
}
.fw2-step .fw2-step-number{
	color:var(--fw-accent-strong)!important;
	font-family:"JetBrains Mono",monospace;
	font-size:.72rem;
	font-weight:600;
	letter-spacing:.06em;
}
.fw2-step p:last-child{margin-bottom:0}
.fw2-roadmap{
	position:relative;
	max-width:980px!important;
}
.fw2-roadmap:before{
	content:"";
	position:absolute;
	top:16px;
	bottom:16px;
	left:17px;
	width:1px;
	background:linear-gradient(var(--fw-accent),var(--fw-border-strong));
}
.fw2-road-item{
	position:relative;
	margin:0 0 14px 48px;
	padding:24px 28px;
	border:1px solid var(--fw-border);
	border-radius:var(--fw-radius-lg);
	background:var(--fw-bg-1);
}
.fw2-road-item:before{
	content:"";
	position:absolute;
	top:26px;
	left:-39px;
	width:14px;
	height:14px;
	border:3px solid var(--fw-accent);
	border-radius:50%;
	background:var(--fw-bg-0);
	box-shadow:0 0 12px rgba(0,131,255,.55);
}
.fw2-road-item .fw2-status{
	margin:0 0 8px!important;
	color:var(--fw-accent-strong)!important;
	font-family:"JetBrains Mono",monospace;
	font-size:.72rem;
	font-weight:600;
	letter-spacing:.05em;
	text-transform:uppercase;
}
.fw2-road-item p:last-child{margin-bottom:0}
.fw2-cta-grid{gap:16px!important}
.fw2-download,.fw2-support{
	height:100%;
	padding:clamp(28px,4vw,48px);
	border:1px solid var(--fw-border);
	border-radius:var(--fw-radius-lg);
	background:var(--fw-bg-1);
}
.fw2-download{border-top:3px solid var(--fw-accent)}
.fw2-support{border-top:3px solid var(--fw-warning)}
.fw2-legal{
	max-width:1100px!important;
	margin:40px auto 0!important;
	color:var(--fw-text-muted)!important;
	font-size:.74rem;
	text-align:center;
}
.fw2-platform-row{gap:12px!important}
.fw2-platform-card{
	height:100%;
	padding:20px;
	border:1px solid var(--fw-border);
	border-radius:var(--fw-radius-md);
	background:var(--fw-bg-1);
	text-align:center;
}
.fw2-platform-card .wp-block-image{margin:0 auto 10px}
.fw2-platform-card img{width:42px!important;height:42px!important;object-fit:contain}
.fw2-platform-card h3{font-size:.95rem}
.fw2-platform-card p{margin-bottom:0;font-size:.78rem}
.fw2-highlight{
	padding:18px 22px;
	border-left:3px solid var(--fw-accent);
	border-radius:0 var(--fw-radius-md) var(--fw-radius-md) 0;
	background:var(--fw-accent-dim);
}
.fw2-highlight p{margin:0;color:var(--fw-text-primary)}

/* Gutenberg block: interactive patch matrix */
.fw-patch-demo{
	width:100%;
	max-width:1280px;
	margin:0 auto;
	padding:clamp(32px,5vw,60px);
	border:1px solid var(--fw-border);
	border-radius:var(--fw-radius-lg);
	background:var(--fw-bg-1);
	color:var(--fw-text-primary);
	font-family:"Manrope",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
.fw-patch-copy{max-width:720px;margin-bottom:28px}
.fw-patch-copy h2,.fw-patch-editor-preview h2{
	margin:.2em 0;
	color:var(--fw-text-primary);
	font-size:clamp(2rem,4vw,3.4rem);
	line-height:1.04;
}
.fw-patch-copy>p:last-child{color:var(--fw-text-secondary)}
.fw-patch-shell{
	overflow:hidden;
	border:1px solid var(--fw-border);
	border-radius:var(--fw-radius-md);
	background:var(--fw-bg-0);
}
.fw-patch-toolbar{
	display:grid;
	grid-template-columns:minmax(180px,1fr) minmax(180px,1fr) auto;
	gap:12px;
	align-items:end;
	padding:16px;
	border-bottom:1px solid var(--fw-border);
	background:var(--fw-bg-1);
}
.fw-patch-toolbar label span{
	display:block;
	margin-bottom:6px;
	color:var(--fw-text-secondary);
	font-size:.72rem;
	font-weight:600;
}
.fw-patch-toolbar input{
	width:100%;
	padding:9px 12px;
	border:1px solid var(--fw-border-strong);
	border-radius:var(--fw-radius-sm);
	outline:none;
	background:var(--fw-bg-2);
	color:var(--fw-text-primary);
	font:500 .82rem "Manrope",sans-serif;
}
.fw-patch-toolbar input:focus{
	border-color:var(--fw-accent);
	box-shadow:0 0 0 3px var(--fw-accent-dim);
}
.fw-patch-route-count{
	padding:10px 12px;
	color:var(--fw-accent-strong);
	font:600 .72rem "JetBrains Mono",monospace;
	white-space:nowrap;
}
.fw-patch-scroll{overflow:auto;max-height:620px}
.fw-patch-table{
	width:max-content;
	min-width:100%;
	border-collapse:collapse;
	table-layout:fixed;
	background:var(--fw-bg-0);
}
.fw-patch-table th,.fw-patch-table td{
	border-right:1px solid var(--fw-border);
	border-bottom:1px solid var(--fw-border);
}
.fw-patch-table thead th{
	position:sticky;
	top:0;
	z-index:3;
	width:58px;
	min-width:58px;
	height:178px;
	padding:10px 7px;
	background:var(--fw-bg-1);
	vertical-align:bottom;
}
.fw-patch-table thead th:not(.fw-patch-corner){
	writing-mode:vertical-rl;
	transform:rotate(180deg);
	text-align:left;
}
.fw-patch-table th span{
	color:var(--fw-text-muted);
	font:500 .64rem "JetBrains Mono",monospace;
}
.fw-patch-table th b{
	display:block;
	color:var(--fw-text-primary);
	font-size:.72rem;
	font-weight:600;
}
.fw-patch-table .fw-patch-corner{
	left:0;
	z-index:5;
	width:190px;
	min-width:190px;
	text-align:left;
	writing-mode:horizontal-tb;
	transform:none;
}
.fw-patch-table tbody th{
	position:sticky;
	left:0;
	z-index:2;
	width:190px;
	min-width:190px;
	padding:9px 12px;
	background:var(--fw-bg-1);
	text-align:left;
	white-space:nowrap;
}
.fw-patch-table td{
	width:58px;
	min-width:58px;
	height:46px;
	padding:0;
	background:var(--fw-bg-1);
}
.fw-patch-table td:hover{background:var(--fw-bg-3)}
.fw-patch-table td button{
	display:flex;
	width:100%;
	height:100%;
	align-items:center;
	justify-content:center;
	border:0;
	background:transparent;
	color:transparent;
	cursor:pointer;
	font:700 .9rem "JetBrains Mono",monospace;
}
.fw-patch-table td.is-active{background:rgba(0,131,255,.1)}
.fw-patch-table td.is-active button{
	color:var(--fw-accent-strong);
	text-shadow:0 0 8px rgba(0,131,255,.9);
}
.fw-patch-table td.is-failed{background:rgba(255,77,79,.08)}
.fw-patch-table td.is-failed button{
	color:var(--fw-danger);
	font-size:1.4rem;
	text-shadow:0 0 8px rgba(255,77,79,.7);
}
.fw-patch-legend{
	display:flex;
	gap:18px;
	flex-wrap:wrap;
	padding:13px 16px;
	border-top:1px solid var(--fw-border);
	color:var(--fw-text-muted);
	font:500 .68rem "JetBrains Mono",monospace;
}
.fw-patch-legend span{display:flex;align-items:center;gap:7px}
.fw-patch-legend i{
	display:block;
	width:9px;
	height:9px;
	border:1px solid var(--fw-border-strong);
	border-radius:50%;
	background:var(--fw-bg-2);
}
.fw-patch-legend i.is-active{border-color:var(--fw-accent);background:var(--fw-accent)}
.fw-patch-legend i.is-failed{border-color:var(--fw-danger);background:var(--fw-danger)}
/* Patch matrix: exact component rules from FruWorks Styling Guide v1. */
.fw-patch-demo{
	--border:var(--fw-border);
	--border-strong:var(--fw-border-strong);
	--bg-0:var(--fw-bg-0);
	--bg-1:var(--fw-bg-1);
	--bg-2:var(--fw-bg-2);
	--bg-3:var(--fw-bg-3);
	--text-primary:var(--fw-text-primary);
	--text-secondary:var(--fw-text-secondary);
	--text-muted:var(--fw-text-muted);
	--accent:var(--fw-accent);
	--accent-strong:var(--fw-accent-strong);
	--danger:var(--fw-danger);
	--radius-lg:var(--fw-radius-lg);
	--font-sans:"Manrope",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
	--font-mono:"JetBrains Mono",monospace;
	padding:0;
	border:0;
	border-radius:0;
	background:transparent;
}
.fw-patch-demo .fw-patch-copy{max-width:none;margin-bottom:0}
.fw-patch-demo .fw-patch-copy h2{font-size:24px;font-weight:700;letter-spacing:-.01em;line-height:1.6;margin:0 0 8px;padding-top:8px}
.fw-patch-demo .fw-patch-copy>p:last-child{font-size:15px;line-height:1.6;color:var(--text-secondary);margin:0 0 16px}
.fw-patch-demo .patch-shell{display:flex;gap:0;border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;background:var(--bg-1)}
.fw-patch-demo .mini-btn{width:20px;height:20px;border-radius:5px;border:1px solid var(--border-strong);background:var(--bg-2);color:var(--text-secondary);cursor:pointer;font-size:12px;line-height:1;display:flex;align-items:center;justify-content:center;flex-shrink:0;padding:0}
.fw-patch-demo .mini-btn:hover{background:var(--bg-3);color:var(--text-primary)}
.fw-patch-demo .patch-grid-wrap{flex:1;overflow-x:auto;background:var(--bg-0)}
.fw-patch-demo table.matrix th.corner-controls{background:var(--bg-1);vertical-align:middle;padding:8px;min-width:190px;border-bottom:1px solid var(--border-strong)}
.fw-patch-demo .corner-block{display:flex;flex-direction:column;gap:8px}
.fw-patch-demo .corner-row{display:flex;align-items:center;gap:5px}
.fw-patch-demo .sendfilter{writing-mode:sideways-lr;align-items:end}
.fw-patch-demo .reveiverfilter{margin-right:30px}
.fw-patch-demo .corner-row input{flex:1;min-width:0;font-size:11.5px;font-family:var(--font-sans);background:var(--bg-2);border:1px solid var(--border-strong);border-radius:6px;color:var(--text-primary);padding:5px 8px}
.fw-patch-demo .corner-row input::placeholder{color:var(--text-muted)}
.fw-patch-demo .corner-row input:focus{outline:none;border-color:var(--accent)}
.fw-patch-demo table.matrix{border-collapse:collapse;font-size:11px;font-family:var(--font-mono);table-layout:fixed;width:max-content}
.fw-patch-demo table.matrix th,.fw-patch-demo table.matrix td{border:1px solid var(--border);padding:0;text-align:center}
.fw-patch-demo table.matrix th.leafh,.fw-patch-demo table.matrix th.rowh,.fw-patch-demo table.matrix th.grouph{background:var(--bg-1);text-align:left;padding:8px 14px;color:var(--text-primary);font-size:12px;font-weight:600;font-family:var(--font-sans);height:auto;white-space:nowrap}
.fw-patch-demo table.matrix th.leafh,.fw-patch-demo table.matrix th.grouph{writing-mode:sideways-lr;width:36px;padding:8px 6px}
.fw-patch-demo table.matrix th.rowh{writing-mode:horizontal-tb}
.fw-patch-demo table.matrix th.leafh .rn,.fw-patch-demo table.matrix th.rowh .rn,.fw-patch-demo table.matrix th.grouph .rn{display:flex;align-items:center;gap:8px}
.fw-patch-demo table.matrix th.leafh svg,.fw-patch-demo table.matrix th.leafh i,.fw-patch-demo table.matrix th.rowh svg,.fw-patch-demo table.matrix th.rowh i{width:14px;height:14px;font-size:13px;color:var(--text-muted);flex-shrink:0}
.fw-patch-demo table.matrix th.leafh.active-col,.fw-patch-demo table.matrix th.rowh.active-col,.fw-patch-demo table.matrix th.grouph.active-col{background:rgba(0,131,255,.14);color:var(--accent-strong)}
.fw-patch-demo table.matrix th.grouph,.fw-patch-demo table.matrix tr.recv-grp th.rowh{background:var(--bg-2);cursor:pointer;user-select:none;border-top:1px solid var(--border-strong)}
.fw-patch-demo table.matrix th.grouph:hover,.fw-patch-demo table.matrix tr.recv-grp th.rowh:hover{background:var(--bg-3)}
.fw-patch-demo table.matrix th.grouph .exp,.fw-patch-demo table.matrix tr.recv-grp .exp{display:inline-flex;width:14px;color:var(--text-muted)}
.fw-patch-demo table.matrix td{width:36px;height:36px;cursor:pointer;background:var(--bg-1)}
.fw-patch-demo table.matrix td[data-send-agg="1"]{background:var(--bg-2)}
.fw-patch-demo table.matrix tr.recv-grp td{background:var(--bg-2);cursor:pointer}
.fw-patch-demo table.matrix td.active-col{background:#10151c}
.fw-patch-demo table.matrix td:hover{background:var(--bg-3)}
.fw-patch-demo table.matrix td .chk{color:var(--accent-strong);font-size:14px;text-shadow:0 0 8px rgba(0,131,255,.9)}
.fw-patch-demo table.matrix td .fail-dot{width:8px;height:8px;border-radius:50%;background:var(--danger);margin:0 auto;box-shadow:0 0 6px rgba(255,77,79,.8)}
.fw-patch-demo table.matrix td.on{background:rgba(0,131,255,.1)}
.fw-patch-demo table.matrix td.summary.on{background:rgba(0,131,255,.14)}
.fw-patch-demo table.matrix td.failed{background:rgba(255,77,79,.08)}
.fw-patch-editor-preview{min-height:360px}
.fw-patch-editor-grid{
	display:grid;
	grid-template-columns:repeat(7,34px);
	gap:1px;
	width:max-content;
	margin-top:24px;
	padding:1px;
	background:var(--fw-border);
}
.fw-patch-editor-grid span{
	display:flex;
	width:34px;
	height:34px;
	align-items:center;
	justify-content:center;
	background:var(--fw-bg-1);
	color:var(--fw-accent-strong);
	font-family:"JetBrains Mono",monospace;
}
.fw-patch-editor-grid span.is-active{background:var(--fw-accent-dim)}
.fw-patch-editor-note{margin-top:16px;color:var(--fw-text-muted)!important;font-size:.78rem}

@media (max-width:1000px){
	.fw-global-header .links{gap:18px}
	.fw-global-header .utility>a:not(.fw-nav-button){display:none}
	.fw-global-footer .foot-top{flex-direction:column}
	.fw-global-footer .foot-brand{max-width:460px}
	.fw-global-footer .foot-cols{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));width:100%}
}
@media (max-width:781px){
	.fw-global-header .site-nav{padding:13px 20px}
	.fw-global-header .links,.fw-global-header .utility{display:none}
	.fw-mobile-menu{display:block}
	.fw-global-footer.site-footer{padding:40px 24px 24px}
	.fw-global-footer .foot-cols{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}
	.fw-global-footer .foot-bottom{align-items:flex-start;flex-direction:column}
	.fw2-section{padding:64px 24px}
	body.page-id-114 .fw2-hero{min-height:0;padding:84px 24px 68px;background-position:64% center}
	body.page-id-115 .fw2-hero{padding:72px 24px 52px}
	body.page-id-115 .fw2-section{padding-top:64px;padding-bottom:64px}
	.fw2-stats>.wp-block-columns{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))}
	.fw2-section>.fw-patch-demo.alignwide{width:calc(100% - 48px)!important;margin-left:auto!important;margin-right:auto!important}
	.fw2-product-grid,.fw2-tech-grid,.fw2-steps,.fw2-cta-grid{gap:16px!important}
	.fw2-signal-card>.wp-block-columns{gap:16px}
	.fw2-connector{min-height:100px}
	.fw2-platform-row{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))}
	.fw2-platform-row>.wp-block-column{margin:0!important}
	.fw-patch-demo{padding:0}
	.fw-patch-toolbar{grid-template-columns:1fr 1fr}
	.fw-patch-route-count{grid-column:1/-1;padding:4px 0}
}
@media (max-width:480px){
	.fw-global-footer.site-footer{padding:34px 20px 22px}
	.fw-global-footer .foot-cols{grid-template-columns:1fr 1fr;gap:24px 18px}
	.fw-global-footer .foot-newsletter input{max-width:none}
	.fw-global-footer .fw-footer-button{width:100%}
	.fw2-section{padding:54px 20px}
	body.page-id-114 .fw2-hero{padding:72px 20px 58px;background-position:61% center}
	body.page-id-115 .fw2-hero{padding:64px 20px 48px}
	body.page-id-115 .fw2-section{padding-top:54px;padding-bottom:54px}
	.fw2-section>.fw-patch-demo.alignwide{width:calc(100% - 40px)!important}
	.fw2-hero{padding:88px 20px 72px}
	.fw2-hero .fw2-display{font-size:clamp(2.8rem,14vw,3.8rem)}
	.fw2-section-title{font-size:clamp(2.15rem,10vw,2.7rem)}
	.fw2-buttons{width:100%;gap:10px}
	.fw2-buttons .wp-block-button{width:100%}
	.fw2-buttons .wp-block-button__link{display:block;width:100%}
	.fw2-stats>.wp-block-columns{display:grid!important;grid-template-columns:1fr}
	.fw2-product-card,.fw2-product-card .wp-block-cover{min-height:460px!important}
	.fw2-product-card .wp-block-cover__inner-container{min-height:400px;padding:26px}
	.fw2-product-card h3{font-size:2.4rem}
	.fw2-platform-row{grid-template-columns:1fr}
	.fw2-road-item{margin-left:36px;padding:22px}
	.fw2-roadmap:before{left:12px}
	.fw2-road-item:before{left:-31px}
	.fw-patch-demo{padding:0;border-radius:0}
	.fw-patch-toolbar{grid-template-columns:1fr}
	.fw-patch-route-count{grid-column:auto}
	.fw-patch-table .fw-patch-corner,.fw-patch-table tbody th{width:150px;min-width:150px}
	.fw-patch-table thead th{height:150px}
}
@media (prefers-reduced-motion:reduce){
	.fw-site-v2 *{scroll-behavior:auto!important;transition:none!important;animation:none!important}
}
