:root{
		--sbo-bg:#f5f7fb;
		--sbo-bg-2:#fbfdff;
		--sbo-surface:#ffffff;
		--sbo-surface-soft:#f7fbff;
		--sbo-line:#d7e1ec;
		--sbo-line-2:#c6d4e3;
		--sbo-text:#152637;
		--sbo-text-2:#4c6075;
		--sbo-text-3:#73859b;
		--sbo-primary:#175fd1;
		--sbo-primary-dark:#103f96;
		--sbo-shadow:0 14px 36px rgba(18,34,68,.08);
		--sbo-radius:22px;
		--sbo-radius-sm:14px;
		--sbo-max:1000px;
		--sbo-mobile-pad:12px;
	}

	html{
		scroll-behavior:smooth;
	}

	body{
		overflow-x:hidden;
	}

	.site,
	.site-content,
	.content-area,
	.site-main,
	.entry-content,
	.page-content,
	.post-content,
	.container,
	.wrap{
		width:100%;
		max-width:none;
	}

	.site-content,
	.content-area,
	.site-main,
	.entry-content,
	.page-content,
	.post-content{
		margin-left:0;
		margin-right:0;
		padding-left:0;
		padding-right:0;
		margin-top:0;
		margin-bottom:0;
		padding-top:0;
		padding-bottom:0;
	}

	.sbo-page,
	.sbo-page *{
		box-sizing:border-box;
	}

	.sbo-page{
		width:100%;
		margin:0;
		padding:0;
		color:var(--sbo-text);
		background:
			radial-gradient(circle at top left, rgba(23,95,209,.06), transparent 28%),
			linear-gradient(180deg, var(--sbo-bg-2) 0%, var(--sbo-bg) 22%, #ffffff 100%);
		margin-top:0;
		margin-bottom:0;
		padding-top:0;
		padding-bottom:0;
	}

	.sbo-page a{
		color:var(--sbo-primary);
		text-decoration:none;
	}

	.sbo-page a:hover{
		color:var(--sbo-primary-dark);
	}

	.sbo-page a:focus-visible,
	.sbo-btn:focus-visible,
	.sbo-toc-links a:focus-visible,
	.sbo-table-wrap:focus-visible,
	details > summary:focus-visible{
		outline:3px solid rgba(23,95,209,.25);
		outline-offset:2px;
	}

	.sbo-shell{
		width:100%;
		max-width:var(--sbo-max);
		margin:0 auto;
		padding:0;
	}

	.sbo-topline{
		border-bottom:1px solid var(--sbo-line);
		background:#f8fbff;
	}

	.sbo-topline-inner{
		display:flex;
		flex-wrap:wrap;
		gap:10px;
		align-items:center;
		padding:12px 0;
		font-size:13px;
		line-height:1.6;
		color:var(--sbo-text-3);
	}

	.sbo-badge{
		display:inline-flex;
		align-items:center;
		padding:7px 11px;
		border-radius:999px;
		border:1px solid #dae6fb;
		background:#eef5ff;
		color:var(--sbo-primary-dark);
		font-weight:700;
	}

	.sbo-hero{
		padding:26px 0 18px;
	}

	.sbo-hero-box{
		padding:30px;
		border:1px solid var(--sbo-line);
		border-radius:28px;
		background:linear-gradient(180deg,#ffffff 0%,#f8fbff 100%);
		box-shadow:var(--sbo-shadow);
	}

	.sbo-kicker{
		display:inline-flex;
		align-items:center;
		min-height:34px;
		padding:8px 12px;
		margin:0 0 14px;
		border-radius:999px;
		background:#eef5ff;
		border:1px solid #d9e6fb;
		color:var(--sbo-primary-dark);
		font-size:13px;
		font-weight:700;
	}

	.sbo-title{
		margin:0 0 16px;
		font-size:40px;
		line-height:1.14;
		letter-spacing:-.02em;
		color:#101d31;
	}

	.sbo-cover{
		margin:0 0 18px;
		padding:12px;
		border:1px solid var(--sbo-line);
		border-radius:22px;
		background:#fff;
	}

	.sbo-cover figure{
		margin:0;
	}

	.sbo-cover img{
		display:block;
		width:100%;
		height:auto;
		border-radius:16px;
	}

	.sbo-cover figcaption{
		margin-top:10px;
		text-align:center;
		font-size:13px;
		line-height:1.6;
		color:var(--sbo-text-3);
	}

	.sbo-lead{
		margin:0;
		font-size:17px;
		line-height:1.9;
		color:var(--sbo-text);
	}

	.sbo-actions{
		display:flex;
		flex-wrap:wrap;
		gap:12px;
		margin-top:18px;
	}

	.sbo-btn{
		display:inline-flex;
		align-items:center;
		justify-content:center;
		min-height:46px;
		padding:0 18px;
		border:1px solid transparent;
		border-radius:12px;
		font-size:15px;
		font-weight:700;
		transition:background-color .2s ease,border-color .2s ease,color .2s ease,transform .2s ease;
	}

	.sbo-btn:hover{
		transform:translateY(-1px);
	}

	.sbo-btn-primary{
		background:var(--sbo-primary);
		color:#fff;
	}

	.sbo-btn-primary:hover{
		background:var(--sbo-primary-dark);
	}

	.sbo-btn-ghost{
		background:#fff;
		border-color:#d2deeb;
		color:var(--sbo-primary-dark);
	}

	.sbo-btn-ghost:hover{
		background:#f8fbff;
	}

	.sbo-head-stats{
		display:grid;
		grid-template-columns:repeat(4,minmax(0,1fr));
		gap:12px;
		margin-top:18px;
	}

	.sbo-head-stat{
		padding:16px 14px;
		border:1px solid var(--sbo-line);
		border-radius:16px;
		background:#fff;
	}

	.sbo-head-stat strong{
		display:block;
		margin-bottom:7px;
		font-size:23px;
		line-height:1.2;
		color:var(--sbo-primary-dark);
	}

	.sbo-head-stat span{
		display:block;
		font-size:13px;
		line-height:1.65;
		color:var(--sbo-text-3);
	}

	.sbo-flow{
		padding-bottom:18px;
	}

	.sbo-toc{
		margin:0 0 18px;
		padding:18px;
		border:1px solid var(--sbo-line);
		border-radius:18px;
		background:#fff;
		box-shadow:var(--sbo-shadow);
	}

	.sbo-toc h2{
		margin:0 0 12px;
		font-size:19px;
		line-height:1.45;
	}

	.sbo-toc-links{
		display:flex;
		flex-wrap:wrap;
		gap:10px;
	}

	.sbo-toc-links a{
		display:inline-flex;
		align-items:center;
		min-height:38px;
		padding:0 12px;
		border-radius:999px;
		border:1px solid var(--sbo-line);
		background:#f8fbff;
		color:var(--sbo-text);
		font-size:14px;
		line-height:1;
	}

	.sbo-toc-links a:hover{
		background:#eef5ff;
	}

	.sbo-section{
		margin-bottom:18px;
		padding:24px;
		border:1px solid var(--sbo-line);
		border-radius:22px;
		background:#fff;
		box-shadow:var(--sbo-shadow);
	}

	.sbo-section h2{
		margin:0 0 14px;
		font-size:30px;
		line-height:1.28;
		color:#101d31;
		scroll-margin-top:88px;
	}

	.sbo-section h3{
		margin:24px 0 12px;
		font-size:22px;
		line-height:1.42;
		color:#162841;
		scroll-margin-top:88px;
	}

	.sbo-section h4{
		margin:0 0 10px;
		font-size:18px;
		line-height:1.45;
		color:#12305d;
	}

	.sbo-section p,
	.sbo-section li{
		font-size:16px;
		line-height:1.9;
		color:var(--sbo-text);
	}

	.sbo-section p{
		margin:0 0 16px;
	}

	.sbo-section ul,
	.sbo-section ol{
		margin:0 0 18px 1.2em;
		padding:0;
	}

	.sbo-section li{
		margin-bottom:10px;
	}

	.sbo-section strong{
		color:var(--sbo-primary-dark);
	}

	.sbo-chips{
		display:flex;
		flex-wrap:wrap;
		gap:10px;
		margin:0 0 14px;
	}

	.sbo-chip{
		display:inline-flex;
		align-items:center;
		padding:7px 10px;
		border-radius:999px;
		border:1px solid #d9e6fa;
		background:#f2f7ff;
		color:#194699;
		font-size:12px;
		font-weight:700;
	}

	.sbo-note{
		margin:16px 0 18px;
		padding:16px 18px;
		border-left:4px solid var(--sbo-primary);
		border-radius:14px;
		background:#f7fbff;
		font-size:15px;
		line-height:1.85;
		color:var(--sbo-text);
	}

	.sbo-strip-grid,
	.sbo-mini-grid{
		display:grid;
		gap:16px;
		margin:18px 0;
	}

	.sbo-strip-grid{
		grid-template-columns:repeat(3,minmax(0,1fr));
	}

	.sbo-mini-grid{
		grid-template-columns:repeat(2,minmax(0,1fr));
	}

	.sbo-strip-card,
	.sbo-mini-card{
		padding:18px;
		border:1px solid var(--sbo-line);
		border-radius:18px;
		background:linear-gradient(180deg,#ffffff 0%,#f8fbff 100%);
	}

	.sbo-strip-card h3,
	.sbo-mini-card h4{
		margin-top:0;
	}

	.sbo-strip-card p,
	.sbo-mini-card p{
		margin:0;
		font-size:14px;
		line-height:1.8;
		color:var(--sbo-text-2);
	}

	.sbo-table-wrap{
		width:100%;
		margin:18px 0 22px;
		overflow-x:auto;
		overflow-y:hidden;
		-webkit-overflow-scrolling:touch;
		border:1px solid var(--sbo-line);
		border-radius:16px;
		background:#fff;
	}

	.sbo-table{
		width:100%;
		min-width:700px;
		border-collapse:separate;
		border-spacing:0;
	}

	.sbo-table caption{
		padding:14px 14px 0;
		text-align:left;
		font-size:14px;
		line-height:1.7;
		color:var(--sbo-text-3);
		caption-side:top;
	}

	.sbo-table th,
	.sbo-table td{
		padding:14px;
		vertical-align:top;
		text-align:left;
		border-right:1px solid #edf2f8;
		border-bottom:1px solid var(--sbo-line);
		font-size:14px;
		line-height:1.75;
		color:var(--sbo-text);
	}

	.sbo-table th:last-child,
	.sbo-table td:last-child{
		border-right:none;
	}

	.sbo-table thead th{
		background:linear-gradient(180deg,#f3f7fc 0%,#ecf2fa 100%);
		color:#12233a;
		font-weight:800;
		white-space:nowrap;
	}

	.sbo-table tbody tr:nth-child(even) td,
	.sbo-table tbody tr:nth-child(even) th{
		background:#fbfdff;
	}

	.sbo-cta{
		padding:28px;
		border:1px solid #d8e6fb;
		border-radius:24px;
		background:
			radial-gradient(circle at top right, rgba(23,95,209,.08), transparent 30%),
			linear-gradient(180deg,#f8fbff 0%,#eef5ff 100%);
	}

	.sbo-cta-center{
		margin-top:16px;
		padding:24px 18px;
		border-radius:18px;
		background:#eaf4ff;
		border:1px solid #d6e7ff;
		text-align:center;
	}

	.sbo-cta-center p{
		margin:0;
		font-size:18px;
		line-height:1.9;
		color:#12305d;
	}

	.sbo-faq{
		display:grid;
		gap:12px;
	}

	.sbo-faq details{
		border:1px solid var(--sbo-line);
		border-radius:16px;
		background:#fff;
	}

	.sbo-faq summary{
		position:relative;
		display:block;
		padding:16px 44px 16px 16px;
		cursor:pointer;
		list-style:none;
		font-size:16px;
		font-weight:700;
		line-height:1.7;
		color:#14243a;
	}

	.sbo-faq summary::-webkit-details-marker{
		display:none;
	}

	.sbo-faq summary::after{
		content:"+";
		position:absolute;
		right:16px;
		top:50%;
		transform:translateY(-50%);
		font-size:22px;
		line-height:1;
		color:var(--sbo-primary-dark);
	}

	.sbo-faq details[open] summary::after{
		content:"–";
	}

	.sbo-faq-answer{
		padding:0 16px 16px;
		font-size:15px;
		line-height:1.85;
		color:var(--sbo-text-2);
	}

	@media (max-width: 960px){
		.sbo-head-stats,
		.sbo-strip-grid,
		.sbo-mini-grid{
			grid-template-columns:1fr;
		}

		.sbo-title{
			font-size:32px;
		}

		.sbo-section h2{
			font-size:26px;
		}

		.sbo-section h3{
			font-size:20px;
		}
	}

	@media (max-width: 767px){
		body,
		.site,
		.site-content,
		.content-area,
		.site-main,
		.entry-content,
		.page-content,
		.post-content,
		.container,
		.wrap{
			margin-left:0;
			margin-right:0;
			padding-left:0;
			padding-right:0;
		}

		.sbo-page{
			overflow-x:hidden;
		}

		.sbo-shell{
			max-width:none;
			padding-left:0;
			padding-right:0;
		}

		.sbo-topline-inner,
		.sbo-hero,
		.sbo-flow{
			padding-left:var(--sbo-mobile-pad);
			padding-right:var(--sbo-mobile-pad);
		}

		.sbo-hero{
			padding-top:16px;
			padding-bottom:12px;
		}

		.sbo-flow{
			padding-bottom:12px;
		}

		.sbo-hero-box,
		.sbo-toc,
		.sbo-section,
		.sbo-cta{
			margin-left:0;
			margin-right:0;
			padding:16px 12px;
			border-left:0;
			border-right:0;
			border-radius:0;
			box-shadow:none;
		}

		.sbo-cover,
		.sbo-head-stat,
		.sbo-strip-card,
		.sbo-mini-card,
		.sbo-note,
		.sbo-faq details,
		.sbo-cta-center{
			border-radius:12px;
		}

		.sbo-title{
			font-size:28px;
			line-height:1.22;
		}

		.sbo-lead{
			font-size:15px;
			line-height:1.85;
		}

		.sbo-actions{
			flex-direction:column;
		}

		.sbo-btn{
			width:100%;
		}

		.sbo-toc-links{
			gap:8px;
		}

		.sbo-toc-links a{
			min-height:34px;
			padding:0 10px;
			font-size:13px;
		}

		.sbo-section h2{
			font-size:24px;
		}

		.sbo-section h3{
			font-size:19px;
			margin-top:20px;
		}

		.sbo-section p,
		.sbo-section li,
		.sbo-faq-answer{
			font-size:14px;
		}

		.sbo-table{
			min-width:640px;
		}

		.sbo-table th,
		.sbo-table td{
			padding:12px;
			font-size:13px;
		}
	}
