/* Shared styling for Privacy, Terms and Size Guide pages. */
.tbook-info-page {
	max-width: 1152px;
	margin: 0 auto;
	padding: 0 0 34px;
	box-sizing: border-box;
	color: #334155;
}
.tbook-info-page * { box-sizing: border-box; }
.tbook-info-hero {
	position: relative;
	overflow: hidden;
	margin-bottom: 18px;
	padding: 28px 30px;
	border: 1px solid #e2e1d8;
	border-radius: 16px;
	background: #fffaf3;
	background-image: radial-gradient(rgba(44,62,80,.12) 1px, transparent 1px);
	background-size: 18px 18px;
}
.tbook-info-hero::after {
	content: "";
	position: absolute;
	right: -60px;
	top: -90px;
	width: 260px;
	height: 260px;
	border-radius: 50%;
	background: radial-gradient(circle, rgba(228,95,61,.18), rgba(228,95,61,0) 68%);
	pointer-events: none;
}
.tbook-info-eyebrow {
	margin: 0 0 8px;
	color: #6b7a5b;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .18em;
	text-transform: uppercase;
}
.tbook-info-lead {
	position: relative;
	max-width: 760px;
	margin: 0;
	color: #1e293b;
	font-size: clamp(19px, 2.2vw, 25px);
	line-height: 1.4;
}
.tbook-info-meta {
	margin: 14px 0 0;
	color: #64748b;
	font-size: 12.5px;
}
.tbook-info-grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 300px;
	gap: 18px;
	align-items: start;
}
.tbook-info-main { min-width: 0; }
.tbook-info-aside {
	position: sticky;
	top: 84px;
}
.tbook-info-card {
	margin: 0 0 16px;
	padding: 22px;
	border: 1px solid #e2e8f0;
	border-radius: 14px;
	background: #fff;
	box-shadow: 0 1px 3px rgba(15,23,42,.04);
}
.tbook-info-card h2 {
	margin: 0 0 10px;
	color: #1e293b;
	font-size: 20px;
	line-height: 1.25;
}
.tbook-info-card h3 {
	margin: 16px 0 7px;
	color: #1e293b;
	font-size: 15px;
}
.tbook-info-card p { margin: 0 0 12px; font-size: 14.5px; line-height: 1.7; }
.tbook-info-card p:last-child { margin-bottom: 0; }
.tbook-info-card ul,
.tbook-info-card ol { margin: 0 0 12px; padding-left: 20px; font-size: 14.5px; line-height: 1.7; }
.tbook-info-card li { margin-bottom: 7px; }
.tbook-info-card a { color: #b84528; font-weight: 600; text-decoration: none; }
.tbook-info-card a:hover { text-decoration: underline; }
.tbook-info-nav {
	display: flex;
	flex-wrap: wrap;
	gap: 7px;
	margin: 0 0 16px;
}
.tbook-info-nav a {
	padding: 6px 10px;
	border: 1px solid #e2e8f0;
	border-radius: 999px;
	background: #fff;
	color: #475569;
	font-size: 12px;
	font-weight: 600;
	text-decoration: none;
}
.tbook-info-nav a:hover { background: #f8fafc; color: #0f172a; }
.tbook-info-contact {
	background: #f7f1e3;
	border-color: #e6dcc5;
}
.tbook-info-contact .tbook-info-eyebrow { margin-bottom: 8px; }
.tbook-info-contact a { word-break: break-word; }
.tbook-info-note {
	padding: 12px 14px;
	border-left: 3px solid #d2874e;
	border-radius: 8px;
	background: #fdf4ea;
	color: #7c4a2c;
	font-size: 13px;
	line-height: 1.6;
}

/* Size guide */
.tbook-size-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 14px;
	margin: 0 0 18px;
}
.tbook-size-card {
	padding: 18px;
	border: 1px solid #e2e8f0;
	border-radius: 14px;
	background: #fff;
}
.tbook-size-card__top {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	margin-bottom: 12px;
}
.tbook-size-card__label {
	color: #6b7a5b;
	font-size: 10.5px;
	font-weight: 700;
	letter-spacing: .13em;
	text-transform: uppercase;
}
.tbook-size-badge {
	padding: 3px 7px;
	border-radius: 999px;
	background: #e2ead8;
	color: #456235;
	font-size: 10.5px;
	font-weight: 700;
}
.tbook-size-dims {
	margin: 0 0 6px;
	color: #1e293b;
	font-size: 23px;
	font-weight: 700;
	line-height: 1.1;
}
.tbook-size-card p {
	margin: 0;
	color: #64748b;
	font-size: 13px;
	line-height: 1.55;
}
.tbook-size-chips {
	display: flex;
	flex-wrap: wrap;
	gap: 7px;
	margin: 8px 0 0;
}
.tbook-size-chips span {
	padding: 5px 9px;
	border: 1px solid #e2e8f0;
	border-radius: 999px;
	background: #f8fafc;
	color: #475569;
	font-size: 11.5px;
	font-weight: 600;
}
.tbook-size-steps {
	counter-reset: size-step;
	margin: 0;
	padding: 0;
	list-style: none;
}
.tbook-size-steps li {
	position: relative;
	padding: 0 0 14px 36px;
	color: #475569;
	font-size: 14.5px;
	line-height: 1.6;
}
.tbook-size-steps li::before {
	counter-increment: size-step;
	content: counter(size-step);
	position: absolute;
	left: 0;
	top: -2px;
	width: 24px;
	height: 24px;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	background: #2c3e50;
	color: #fff;
	font-size: 11px;
	font-weight: 700;
}
@media (max-width: 900px) {
	.tbook-info-grid { grid-template-columns: 1fr; }
	.tbook-info-aside { position: static; }
	.tbook-size-grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 782px) {
	.tbook-info-page { padding: 0 16px 26px; }
	.tbook-info-hero { padding: 22px 20px; }
	.tbook-info-card { padding: 18px; }
	.tbook-size-grid { gap: 10px; }
	.tbook-size-card { padding: 14px; }
	.tbook-size-dims { font-size: 19px; }
}
@media (max-width: 520px) {
	.tbook-size-grid { grid-template-columns: 1fr; }
}

/* Intro / capability page */
.tbook-intro-stats {
	position: relative;
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-top: 18px;
}
.tbook-intro-stat {
	padding: 6px 10px;
	border: 1px solid rgba(44, 62, 80, .13);
	border-radius: 999px;
	background: rgba(255, 255, 255, .58);
	color: #475569;
	font-size: 11.5px;
	font-weight: 600;
}
.tbook-intro-section {
	margin: 0 0 20px;
}
.tbook-intro-section-head {
	margin: 0 0 12px;
}
.tbook-intro-section-head .tbook-info-eyebrow {
	margin-bottom: 5px;
}
.tbook-intro-section-head h2 {
	margin: 0 0 5px;
	color: #1e293b;
	font-size: clamp(24px, 3vw, 34px);
	font-weight: 700;
	line-height: 1.15;
	letter-spacing: -.035em;
}
.tbook-intro-section-head p {
	max-width: 740px;
	margin: 0;
	color: #64748b;
	font-size: 14px;
	line-height: 1.65;
}
.tbook-intro-use-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 11px;
}
.tbook-intro-use {
	position: relative;
	min-height: 158px;
	padding: 17px;
	border: 1px solid #e2e8f0;
	border-radius: 13px;
	background: #fff;
}
.tbook-intro-use::after {
	content: "";
	position: absolute;
	right: 16px;
	top: 15px;
	width: 26px;
	height: 26px;
	border: 1px solid #e2e8f0;
	border-radius: 50%;
	background: #fffaf3;
}
.tbook-intro-use:nth-child(3n + 2)::after { background: #f0f5e9; }
.tbook-intro-use:nth-child(3n + 3)::after { background: #fdf0e8; }
.tbook-intro-use span {
	display: block;
	margin-bottom: 25px;
	color: #8a947e;
	font-size: 10px;
	font-weight: 800;
	letter-spacing: .15em;
	text-transform: uppercase;
}
.tbook-intro-use h3 {
	margin: 0 0 6px;
	color: #1e293b;
	font-size: 17px;
	line-height: 1.2;
}
.tbook-intro-use p {
	margin: 0;
	color: #64748b;
	font-size: 12.5px;
	line-height: 1.55;
}
.tbook-intro-demos {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 11px;
}
.tbook-intro-demo {
	grid-column: span 2;
	position: relative;
	min-height: 220px;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	overflow: hidden;
	padding: 17px;
	border: 1px solid #e2e8f0;
	border-radius: 14px;
	background: #f4efe4;
	color: #fff;
	text-decoration: none;
	isolation: isolate;
}
.tbook-intro-demo.is-live {
	grid-column: span 1;
	background-image: linear-gradient(180deg, rgba(9,12,15,.12) 15%, rgba(9,12,15,.84) 100%), url("https://vibe.chiplag.com/decks/TBHRNKESQF/demo/iphone-18-design-20261029.jpg");
	background-size: cover;
	background-position: center;
}
.tbook-intro-demo.is-music {
	background-image: linear-gradient(180deg, rgba(20,10,13,.10) 10%, rgba(20,10,13,.82) 100%), url("https://vibe.chiplag.com/decks/TBZ6CD8JEG/261029fri.png");
	background-position: center 38%;
}

.tbook-intro-demo.is-organization {
	background-image: linear-gradient(180deg, rgba(20,24,18,.10) 10%, rgba(20,24,18,.82) 100%), url("https://vibe.chiplag.com/decks/TBFWS7BSAW/261029uvn.png");
	background-position: center 50%;
}

.tbook-intro-demo.is-social {
	background-image: linear-gradient(180deg, rgba(20,18,14,.10) 10%, rgba(20,18,14,.82) 100%), url("https://vibe.chiplag.com/decks/TBY52VG8X7/261029wqy.png");
	background-position: center 42%;
}

.tbook-intro-demo.is-cause {
	background-image: linear-gradient(180deg, rgba(26,12,16,.10) 10%, rgba(26,12,16,.82) 100%), url("https://vibe.chiplag.com/decks/TBH941KXMA/261029uxw.png");
	background-position: center 46%;
}

.tbook-intro-demo.is-adult {
	background-image: linear-gradient(180deg, rgba(16,10,18,.08) 10%, rgba(16,10,18,.86) 100%), url("https://vibe.chiplag.com/decks/TB5N3WR071/261031ncq.png");
	background-position: center 42%;
}

.tbook-intro-demo.is-next {
	grid-column: span 5;
	justify-content: space-between;
	min-height: 190px;
	color: #f8f4ea;
}
.tbook-intro-demo.is-next::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	background: radial-gradient(circle at 78% 18%, rgba(255,255,255,.2), transparent 38%), linear-gradient(135deg, #35453b, #6d7b5c);
}
.tbook-intro-demo.is-next:nth-of-type(3)::before { background: radial-gradient(circle at 22% 15%, rgba(255,255,255,.18), transparent 40%), linear-gradient(135deg, #40515b, #728b91); }
.tbook-intro-demo.is-next:nth-of-type(4)::before { background: radial-gradient(circle at 78% 20%, rgba(255,255,255,.16), transparent 38%), linear-gradient(135deg, #68483e, #a9795c); }
.tbook-intro-demo.is-next:nth-of-type(5)::before { background: radial-gradient(circle at 24% 20%, rgba(255,255,255,.17), transparent 38%), linear-gradient(135deg, #403b59, #807296); }
.tbook-intro-demo.is-next:nth-of-type(6)::before { background: radial-gradient(circle at 80% 15%, rgba(255,255,255,.17), transparent 38%), linear-gradient(135deg, #314d53, #708b7b); }
.tbook-intro-demo.is-live:hover,
.tbook-intro-demo.is-live:focus-visible {
	color: #fff;
	text-decoration: none;
	transform: translateY(-2px);
	box-shadow: 0 14px 30px rgba(28, 38, 50, .16);
	outline: none;
}
.tbook-intro-demo-badge {
	position: absolute;
	top: 14px;
	left: 14px;
	padding: 4px 8px;
	border: 1px solid rgba(255,255,255,.27);
	border-radius: 999px;
	background: rgba(14, 20, 26, .28);
	backdrop-filter: blur(4px);
	color: #fff;
	font-size: 9px;
	font-weight: 800;
	letter-spacing: .12em;
	text-transform: uppercase;
}
.tbook-intro-demo h3 {
	margin: 0 0 5px;
	color: #fff;
	font-family: Georgia, 'Times New Roman', serif;
	font-size: 28px;
	font-weight: 500;
	line-height: 1.03;
	letter-spacing: -.035em;
}
.tbook-intro-demo p {
	max-width: 460px;
	margin: 0;
	color: rgba(255,255,255,.78);
	font-size: 11.5px;
	line-height: 1.5;
}
.tbook-intro-demo.is-next h3 {
	font-size: 22px;
}
.tbook-intro-demo.is-next .tbook-intro-next {
	color: rgba(255,255,255,.68);
	font-size: 10px;
	font-weight: 700;
	letter-spacing: .12em;
	text-transform: uppercase;
}
.tbook-intro-demo.is-next .tbook-intro-demo-badge {
	position: static;
	align-self: flex-start;
	margin-bottom: auto;
	border-color: rgba(255,255,255,.24);
	background: rgba(255,255,255,.08);
}
.tbook-intro-demo-arrow {
	position: absolute;
	top: 13px;
	right: 14px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 27px;
	height: 27px;
	border: 1px solid rgba(255,255,255,.28);
	border-radius: 50%;
	background: rgba(14,20,26,.25);
	color: #fff;
	font-size: 14px;
}
.tbook-intro-resource-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 11px;
}
.tbook-intro-resource {
	padding: 16px;
	border: 1px solid #e2e8f0;
	border-radius: 12px;
	background: #fff;
}
.tbook-intro-resource h3 {
	margin: 0 0 5px;
	color: #1e293b;
	font-size: 15px;
}
.tbook-intro-resource p {
	margin: 0;
	color: #64748b;
	font-size: 12.5px;
	line-height: 1.55;
}
.tbook-intro-steps {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 11px;
	counter-reset: intro-step;
}
.tbook-intro-step {
	position: relative;
	padding: 17px 17px 17px 50px;
	border: 1px solid #e2e8f0;
	border-radius: 12px;
	background: #fff;
}
.tbook-intro-step::before {
	counter-increment: intro-step;
	content: counter(intro-step);
	position: absolute;
	left: 16px;
	top: 17px;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 23px;
	height: 23px;
	border-radius: 50%;
	background: #2c3e50;
	color: #fff;
	font-size: 10px;
	font-weight: 800;
}
.tbook-intro-step h3 {
	margin: 0 0 5px;
	color: #1e293b;
	font-size: 14px;
}
.tbook-intro-step p {
	margin: 0;
	color: #64748b;
	font-size: 12px;
	line-height: 1.5;
}
.tbook-intro-cta {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	margin-top: 18px;
	padding: 24px;
	border-radius: 14px;
	background: #2c3e50;
	color: #fff;
}
.tbook-intro-cta h2 {
	margin: 0 0 4px;
	color: #fff;
	font-family: Georgia, 'Times New Roman', serif;
	font-size: 26px;
	font-weight: 500;
}
.tbook-intro-cta p {
	margin: 0;
	color: rgba(255,255,255,.68);
	font-size: 12.5px;
}
.tbook-intro-cta-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	flex: 0 0 auto;
}
.tbook-intro-cta a {
	display: inline-block;
	padding: 9px 13px;
	border: 1px solid rgba(255,255,255,.32);
	border-radius: 7px;
	color: #fff;
	font-size: 11px;
	font-weight: 700;
	text-decoration: none;
}
.tbook-intro-cta a:first-child {
	border-color: #d9e9bf;
	background: #d9e9bf;
	color: #2c3e50;
}
.tbook-intro-cta a:hover { text-decoration: none; opacity: .86; }
@media (max-width: 1100px) {
	.tbook-intro-demos { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 900px) {
	.tbook-intro-use-grid,
	.tbook-intro-resource-grid,
	.tbook-intro-steps { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.tbook-intro-demos { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.tbook-intro-demo,
	.tbook-intro-demo.is-live { grid-column: span 1; }
	.tbook-intro-demo.is-next { grid-column: span 2; }
}
@media (max-width: 620px) {
	.tbook-intro-use-grid,
	.tbook-intro-resource-grid,
	.tbook-intro-steps,
	.tbook-intro-demos { grid-template-columns: 1fr; }
	.tbook-intro-demo,
	.tbook-intro-demo.is-live { grid-column: span 1; }
	.tbook-intro-demo.is-live { min-height: 250px; }
	.tbook-intro-demo.is-next { grid-column: span 1; min-height: 160px; }
	.tbook-intro-cta { display: block; }
	.tbook-intro-cta-actions { margin-top: 14px; }
}

/* Make the demo-shelf instruction stand out. */
.tbook-intro-demo-hint {
	color: #b93d1f;
	font-weight: 800;
	background: linear-gradient(transparent 58%, rgba(228, 95, 61, 0.16) 58%);
	padding: 0 2px;
}
