:root {
	--osh-deep: #06288a;
	--osh-navy: #08245f;
	--osh-blue: #0868ee;
	--osh-cyan: #34bdf5;
	--osh-sky: #dff5ff;
	--osh-pale: #f3f9ff;
	--osh-white: #ffffff;
	--osh-ink: #0b2c67;
	--osh-body: #314260;
	--osh-muted: #677795;
	--osh-line: #d7e7fb;
	--osh-leaf: #4aa95e;
	--osh-leaf-pale: #eef9ef;
	--osh-gold: #e9af2d;
	--osh-ivory: #fffaf0;
	--osh-rose: #ffacd2;
	--osh-max: 1180px;
	--osh-radius: 22px;
	--osh-radius-sm: 14px;
	--osh-shadow: 0 18px 48px rgba( 8, 56, 133, 0.12 );
	--osh-shadow-soft: 0 8px 26px rgba( 8, 56, 133, 0.09 );
	--osh-serif: "Yu Mincho", "Hiragino Mincho ProN", "Hiragino Mincho Pro", "Noto Serif JP", serif;
	--osh-sans: -apple-system, BlinkMacSystemFont, "Hiragino Kaku Gothic ProN", "Yu Gothic", "Noto Sans JP", sans-serif;
}

*,
*::before,
*::after {
	box-sizing: border-box;
}

html {
	scroll-behavior: smooth;
	scroll-padding-top: 92px;
}

body {
	margin: 0;
	color: var(--osh-body);
	background: var(--osh-white);
	font-family: var(--osh-sans);
	font-size: 16px;
	line-height: 1.85;
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
}

body.osh-menu-open {
	overflow: hidden;
}

img {
	display: block;
	max-width: 100%;
	height: auto;
}

a {
	color: var(--osh-blue);
	text-decoration-thickness: 1px;
	text-underline-offset: 0.2em;
}

a:hover {
	color: var(--osh-deep);
}

button,
input,
textarea,
select {
	font: inherit;
}

button,
a {
	-webkit-tap-highlight-color: transparent;
}

:focus-visible {
	outline: 3px solid #ffd95a;
	outline-offset: 3px;
}

.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;
}

.osh-skip-link {
	position: fixed;
	left: 16px;
	top: 12px;
	z-index: 9999;
	padding: 10px 16px;
	border-radius: 10px;
	background: var(--osh-white);
	color: var(--osh-deep);
	transform: translateY(-160%);
	transition: transform 0.2s ease;
}

.osh-skip-link:focus {
	transform: translateY(0);
}

.osh-container {
	width: min(100% - 40px, var(--osh-max));
	margin-inline: auto;
}

.osh-center {
	display: flex;
	justify-content: center;
	margin-top: 36px;
}

.osh-site-header {
	position: sticky;
	top: 0;
	z-index: 1000;
	color: var(--osh-white);
	background: rgba( 5, 38, 132, 0.95 );
	border-bottom: 1px solid rgba( 255, 255, 255, 0.18 );
	box-shadow: 0 4px 24px rgba( 2, 26, 88, 0.16 );
	backdrop-filter: saturate(135%) blur(16px);
}

.osh-header-inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: min(100% - 40px, 1340px);
	min-height: 78px;
	margin-inline: auto;
	gap: 28px;
}

.osh-brand {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	color: inherit;
	font-weight: 800;
	text-decoration: none;
	letter-spacing: 0.02em;
	white-space: nowrap;
}

.osh-brand:hover {
	color: inherit;
}

.osh-brand img,
.osh-brand .custom-logo {
	width: 50px;
	height: 50px;
	border-radius: 16px;
	object-fit: cover;
	box-shadow: 0 0 0 1px rgba( 255, 255, 255, 0.35 ), 0 6px 20px rgba( 0, 0, 0, 0.12 );
}

.osh-custom-logo,
.osh-custom-logo .custom-logo-link {
	display: contents;
}

.osh-primary-nav {
	display: flex;
	align-items: center;
	gap: 28px;
}

.osh-nav-list {
	display: flex;
	align-items: center;
	gap: 26px;
	padding: 0;
	margin: 0;
	list-style: none;
}

.osh-nav-list a {
	display: inline-flex;
	align-items: center;
	min-height: 44px;
	color: var(--osh-white);
	font-size: 14px;
	font-weight: 700;
	text-decoration: none;
	white-space: nowrap;
}

.osh-nav-list a:hover {
	color: #dff7ff;
}

.osh-header-cta,
.osh-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 48px;
	padding: 12px 24px;
	border: 0;
	border-radius: 999px;
	font-weight: 800;
	line-height: 1.3;
	text-align: center;
	text-decoration: none;
	transition: transform 0.2s ease, box-shadow 0.2s ease, filter 0.2s ease;
}

.osh-header-cta,
.osh-button-primary {
	color: var(--osh-white);
	background: linear-gradient( 100deg, #0875ff 0%, #5ba2ff 45%, #ffaad0 100% );
	box-shadow: 0 10px 26px rgba( 31, 112, 241, 0.28 ), inset 0 0 0 1px rgba( 255, 255, 255, 0.64 );
}

.osh-header-cta:hover,
.osh-button-primary:hover {
	color: var(--osh-white);
	filter: saturate(1.08) brightness(1.03);
	transform: translateY(-2px);
	box-shadow: 0 14px 30px rgba( 31, 112, 241, 0.34 ), inset 0 0 0 1px rgba( 255, 255, 255, 0.76 );
}

.osh-button-secondary {
	color: var(--osh-deep);
	background: var(--osh-white);
	box-shadow: inset 0 0 0 1px var(--osh-line), var(--osh-shadow-soft);
}

.osh-button-secondary:hover {
	color: var(--osh-deep);
	transform: translateY(-2px);
}

.osh-menu-toggle {
	display: none;
	position: relative;
	z-index: 2;
	width: 48px;
	height: 48px;
	padding: 11px;
	border: 0;
	border-radius: 12px;
	color: var(--osh-white);
	background: rgba( 255, 255, 255, 0.1 );
}

.osh-menu-toggle > span:not(.screen-reader-text) {
	display: block;
	width: 100%;
	height: 2px;
	margin: 5px 0;
	border-radius: 99px;
	background: currentColor;
	transition: transform 0.2s ease, opacity 0.2s ease;
}

.osh-hero {
	position: relative;
	isolation: isolate;
	min-height: 720px;
	overflow: hidden;
	color: var(--osh-white);
	background-color: #0a54c7;
	background-image:
		linear-gradient( 90deg, rgba( 3, 33, 117, 0.78 ) 0%, rgba( 4, 57, 153, 0.42 ) 39%, rgba( 0, 116, 213, 0.04 ) 68% ),
		var(--osh-landscape);
	background-position: center;
	background-size: cover;
}

.osh-hero::after {
	position: absolute;
	inset: auto 0 0;
	z-index: -1;
	height: 110px;
	content: "";
	background: linear-gradient( to bottom, rgba( 255, 255, 255, 0 ), rgba( 255, 255, 255, 0.96 ) 76%, #fff );
}

.osh-hero-grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(440px, 0.88fr);
	align-items: center;
	min-height: 720px;
	gap: 44px;
	padding-block: 70px 98px;
}

.osh-hero-copy {
	position: relative;
	z-index: 3;
	text-shadow: 0 2px 14px rgba( 0, 27, 88, 0.36 );
}

.osh-eyebrow {
	margin: 0 0 10px;
	font-size: 13px;
	font-weight: 800;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.osh-hero h1,
.osh-article-hero h1,
.osh-page-hero h1 {
	margin: 0;
	font-family: var(--osh-serif);
	font-weight: 700;
	line-height: 1.43;
	letter-spacing: 0.035em;
}

.osh-hero h1 {
	max-width: 690px;
	font-size: clamp( 44px, 5.2vw, 74px );
}

.osh-hero-lead {
	margin: 22px 0 6px;
	font-size: clamp( 18px, 1.65vw, 24px );
	font-weight: 700;
}

.osh-hero-copy > p:not(.osh-eyebrow, .osh-hero-lead) {
	margin: 0;
	font-size: 17px;
	font-weight: 600;
}

.osh-hero-actions {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 22px;
	margin-top: 32px;
}

.osh-text-link {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	min-height: 44px;
	color: var(--osh-white);
	font-weight: 800;
	text-decoration: none;
}

.osh-text-link:hover {
	color: inherit;
	text-decoration: underline;
}

.osh-blue-text,
.osh-section-heading .osh-blue-text,
.osh-site .osh-section-heading p.osh-blue-text {
	color: var(--osh-blue);
	text-shadow: none;
}

.osh-fact-pills {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	padding: 0;
	margin: 36px 0 0;
	list-style: none;
	text-shadow: none;
}

.osh-fact-pills li {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	min-height: 44px;
	padding: 8px 13px;
	border: 1px solid rgba( 255, 255, 255, 0.56 );
	border-radius: 12px;
	color: var(--osh-ink);
	background: rgba( 255, 255, 255, 0.9 );
	font-size: 13px;
	font-weight: 800;
	box-shadow: 0 7px 20px rgba( 2, 41, 106, 0.13 );
	backdrop-filter: blur(12px);
}

.osh-hero-product {
	position: relative;
	z-index: 2;
	align-self: stretch;
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 570px;
}

.osh-hero-product img {
	width: min(100%, 560px);
	border-radius: 34px;
	filter: drop-shadow( 0 28px 28px rgba( 3, 34, 95, 0.24 ) );
	-webkit-mask-image: radial-gradient( ellipse 78% 78% at 50% 50%, #000 67%, rgba(0,0,0,0.92) 78%, transparent 100% );
	mask-image: radial-gradient( ellipse 78% 78% at 50% 50%, #000 67%, rgba(0,0,0,0.92) 78%, transparent 100% );
}

.osh-section,
.osh-section-tight {
	position: relative;
	padding-block: 92px;
}

.osh-section-tight {
	padding-block: 0 44px;
}

.osh-entrances {
	z-index: 4;
	margin-top: -48px;
}

.osh-entrance-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 18px;
}

.osh-entrance-card {
	display: grid;
	grid-template-columns: auto 1fr auto;
	align-items: center;
	gap: 16px;
	min-height: 128px;
	padding: 22px;
	border: 1px solid rgba( 173, 204, 240, 0.7 );
	border-radius: 18px;
	color: var(--osh-body);
	background: rgba( 255, 255, 255, 0.96 );
	box-shadow: var(--osh-shadow-soft);
	text-decoration: none;
	transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.osh-entrance-card:hover {
	color: var(--osh-body);
	transform: translateY(-4px);
	box-shadow: var(--osh-shadow);
}

.osh-entrance-card strong,
.osh-entrance-card small {
	display: block;
}

.osh-entrance-card strong {
	margin-bottom: 6px;
	color: var(--osh-ink);
	font-size: 18px;
}

.osh-entrance-card small {
	color: var(--osh-muted);
	line-height: 1.65;
}

.osh-entrance-icon {
	display: grid;
	place-items: center;
	width: 48px;
	height: 48px;
	border-radius: 14px;
	color: var(--osh-blue);
	background: #eaf4ff;
	font-size: 26px;
}

.osh-green {
	color: var(--osh-leaf);
	background: var(--osh-leaf-pale);
}

.osh-gold {
	color: #cc8f00;
	background: #fff5d8;
}

.osh-section-heading {
	display: flex;
	align-items: flex-start;
	justify-content: center;
	gap: 18px;
	margin-bottom: 48px;
	text-align: center;
}

.osh-section-heading h2,
.osh-book-section h2,
.osh-evidence h2,
.osh-faq > .osh-container > h2,
.osh-related > h2 {
	margin: 0;
	color: var(--osh-ink);
	font-family: var(--osh-serif);
	font-size: clamp( 30px, 3.2vw, 46px );
	line-height: 1.42;
}

.osh-section-heading p:not(.osh-section-number) {
	margin: 8px 0 0;
	color: var(--osh-muted);
}

.osh-section-number {
	flex: 0 0 auto;
	margin: 5px 0 0;
	color: var(--osh-blue);
	font-family: var(--osh-serif);
	font-size: 36px;
	font-weight: 700;
	line-height: 1;
}

.osh-method {
	padding-top: 70px;
	background:
		radial-gradient( circle at 20% 20%, rgba( 64, 188, 243, 0.08 ), transparent 35% ),
		#fff;
}

.osh-value-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 1px;
	border: 1px solid var(--osh-line);
	border-radius: var(--osh-radius);
	overflow: hidden;
	background: var(--osh-line);
	box-shadow: var(--osh-shadow-soft);
}

.osh-value-grid article {
	padding: 28px 24px;
	text-align: center;
	background: var(--osh-white);
}

.osh-value-grid article > span {
	display: grid;
	place-items: center;
	width: 58px;
	height: 58px;
	margin: 0 auto 16px;
	border-radius: 50%;
	background: linear-gradient( 145deg, #ecf7ff, #f7fdff );
	font-size: 28px;
	box-shadow: inset 0 0 0 1px var(--osh-line);
}

.osh-value-grid h3 {
	margin: 0 0 8px;
	color: var(--osh-ink);
	font-size: 18px;
}

.osh-value-grid p {
	margin: 0;
	color: var(--osh-muted);
	font-size: 14px;
	line-height: 1.7;
}

.osh-stage-section {
	position: relative;
	isolation: isolate;
	overflow: hidden;
	padding-block: 82px;
	color: var(--osh-white);
	background:
		linear-gradient( 90deg, rgba( 3, 24, 91, 0.9 ), rgba( 32, 117, 198, 0.38 ) 45%, rgba( 255, 182, 67, 0.25 ) ),
		var(--osh-landscape) center 62% / cover;
}

.osh-stage-section::before {
	position: absolute;
	inset: 0;
	z-index: -1;
	content: "";
	background: linear-gradient( 90deg, rgba( 2, 23, 85, 0.72 ), transparent 46%, rgba( 255, 190, 94, 0.1 ) );
}

.osh-on-image h2,
.osh-on-image p,
.osh-on-image .osh-section-number {
	color: var(--osh-white);
	text-shadow: 0 3px 14px rgba( 0, 23, 85, 0.42 );
}

.osh-stage-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 18px;
	padding: 0;
	margin: 0;
	list-style: none;
}

.osh-stage-grid li {
	min-height: 220px;
	padding: 24px;
	border: 1px solid rgba( 255, 255, 255, 0.4 );
	border-radius: 20px;
	background: rgba( 4, 32, 104, 0.46 );
	box-shadow: 0 18px 30px rgba( 1, 22, 74, 0.16 );
	backdrop-filter: blur(10px);
}

.osh-stage-grid li:nth-child(2) {
	background: rgba( 20, 116, 201, 0.46 );
}

.osh-stage-grid li:nth-child(3) {
	background: rgba( 49, 143, 115, 0.46 );
}

.osh-stage-grid li:nth-child(4) {
	background: rgba( 186, 126, 32, 0.42 );
}

.osh-stage-grid li > span {
	display: grid;
	place-items: center;
	width: 38px;
	height: 38px;
	border: 1px solid rgba( 255, 255, 255, 0.8 );
	border-radius: 50%;
	font-family: var(--osh-serif);
	font-size: 20px;
	font-weight: 700;
}

.osh-stage-grid h3 {
	margin: 18px 0 10px;
	font-size: 18px;
}

.osh-stage-grid p {
	margin: 0;
	font-size: 14px;
	line-height: 1.8;
}

.osh-book-section {
	background:
		radial-gradient( circle at 88% 22%, rgba( 255, 211, 115, 0.15 ), transparent 26% ),
		linear-gradient( 180deg, #fff, #fbfdff );
}

.osh-book-grid {
	display: grid;
	grid-template-columns: minmax(320px, 0.8fr) minmax(0, 1.2fr);
	align-items: center;
	gap: 72px;
}

.osh-book-visual {
	position: relative;
	min-height: 430px;
}

.osh-book-visual img {
	position: absolute;
	width: min(44%, 220px);
	border-radius: 4px 10px 10px 4px;
	box-shadow: 0 28px 45px rgba( 12, 43, 100, 0.24 );
}

.osh-book-kindle {
	left: 16%;
	top: 4%;
	transform: perspective(900px) rotateY(10deg) rotateZ(-2deg);
}

.osh-book-paper {
	right: 13%;
	bottom: 2%;
	transform: perspective(900px) rotateY(-12deg) rotateZ(3deg);
}

.osh-book-section h2 {
	margin-bottom: 20px;
}

.osh-book-section blockquote {
	margin: 28px 0;
	padding: 20px 24px;
	border: 1px solid var(--osh-line);
	border-left: 4px solid var(--osh-blue);
	border-radius: var(--osh-radius-sm);
	background: var(--osh-white);
	box-shadow: var(--osh-shadow-soft);
}

.osh-book-section blockquote p {
	margin: 0;
	font-family: var(--osh-serif);
	font-size: 18px;
}

.osh-articles-section {
	background: var(--osh-pale);
}

.osh-heading-between {
	align-items: end;
	justify-content: space-between;
	text-align: left;
}

.osh-heading-between .osh-eyebrow {
	margin-bottom: 4px;
}

.osh-post-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 24px;
}

.osh-post-card {
	overflow: hidden;
	border: 1px solid var(--osh-line);
	border-radius: 18px;
	background: var(--osh-white);
	box-shadow: var(--osh-shadow-soft);
	transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.osh-post-card:hover {
	transform: translateY(-4px);
	box-shadow: var(--osh-shadow);
}

.osh-post-card-media {
	display: block;
	aspect-ratio: 16 / 10;
	overflow: hidden;
	background: linear-gradient( 145deg, #dff6ff, #eaf7df );
}

.osh-post-card-media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.4s ease;
}

.osh-post-card:hover .osh-post-card-media img {
	transform: scale(1.035);
}

.osh-post-card-placeholder {
	display: block;
	width: 100%;
	height: 100%;
	background:
		linear-gradient( rgba( 4, 65, 160, 0.08 ), rgba( 29, 145, 117, 0.1 ) ),
		var(--osh-landscape) center / cover;
}

.osh-post-card-body {
	padding: 20px;
}

.osh-category-chip {
	display: inline-flex;
	align-items: center;
	min-height: 30px;
	padding: 4px 10px;
	border: 1px solid #b8d8ff;
	border-radius: 999px;
	color: var(--osh-blue);
	background: #f5faff;
	font-size: 12px;
	font-weight: 800;
	text-decoration: none;
}

.osh-post-card h3 {
	margin: 12px 0 8px;
	color: var(--osh-ink);
	font-size: 18px;
	line-height: 1.55;
}

.osh-post-card h3 a {
	color: inherit;
	text-decoration: none;
}

.osh-post-card p {
	display: -webkit-box;
	margin: 0 0 16px;
	overflow: hidden;
	color: var(--osh-muted);
	font-size: 14px;
	line-height: 1.7;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
}

.osh-post-card time {
	color: #5d6c83;
	font-size: 12px;
}

.osh-flow-grid {
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: 14px;
	padding: 0;
	margin: 0;
	list-style: none;
}

.osh-flow-grid li {
	position: relative;
	padding: 28px 16px;
	border: 1px solid var(--osh-line);
	border-radius: 18px;
	text-align: center;
	background: var(--osh-white);
	box-shadow: var(--osh-shadow-soft);
}

.osh-flow-grid li:not(:last-child)::after {
	position: absolute;
	top: 50%;
	right: -15px;
	z-index: 2;
	content: "›";
	color: var(--osh-blue);
	font-size: 30px;
	font-weight: 400;
	transform: translateY(-56%);
}

.osh-flow-grid li > span {
	display: grid;
	place-items: center;
	width: 58px;
	height: 58px;
	margin: 0 auto 14px;
	border-radius: 50%;
	color: var(--osh-blue);
	background: linear-gradient( 145deg, #eff8ff, #fff );
	font-size: 28px;
	box-shadow: inset 0 0 0 1px var(--osh-line);
}

.osh-flow-grid strong,
.osh-flow-grid small {
	display: block;
}

.osh-flow-grid strong {
	color: var(--osh-ink);
}

.osh-flow-grid small {
	margin-top: 5px;
	color: var(--osh-muted);
	line-height: 1.55;
}

.osh-evidence {
	background:
		linear-gradient( 125deg, rgba( 221, 244, 255, 0.86 ), rgba( 255, 255, 255, 0.92 ) 45%, rgba( 239, 250, 236, 0.9 ) ),
		var(--osh-landscape) center 62% / cover;
}

.osh-evidence-grid {
	display: grid;
	grid-template-columns: minmax(0, 1.35fr) minmax(320px, 0.65fr);
	align-items: center;
	gap: 56px;
}

.osh-evidence-pills {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin-top: 28px;
}

.osh-evidence-pills span {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 72px;
	min-height: 42px;
	padding: 8px 14px;
	border: 1px solid rgba( 130, 184, 238, 0.64 );
	border-radius: 999px;
	color: var(--osh-ink);
	background: rgba( 255, 255, 255, 0.78 );
	font-weight: 800;
	box-shadow: var(--osh-shadow-soft);
	backdrop-filter: blur(10px);
}

.osh-safety-note {
	padding: 28px;
	border: 1px solid rgba( 154, 190, 229, 0.78 );
	border-radius: var(--osh-radius);
	background: rgba( 255, 255, 255, 0.84 );
	box-shadow: var(--osh-shadow);
	backdrop-filter: blur(12px);
}

.osh-safety-note h3 {
	margin: 0 0 12px;
	color: var(--osh-ink);
}

.osh-safety-note p {
	margin: 0;
	font-size: 14px;
}

.osh-faq {
	background: #fff;
}

.osh-faq > .osh-container > h2 {
	margin-bottom: 36px;
	text-align: center;
}

.osh-faq-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 14px 22px;
}

.osh-faq details {
	border: 1px solid var(--osh-line);
	border-radius: 14px;
	background: var(--osh-white);
	box-shadow: var(--osh-shadow-soft);
}

.osh-faq summary {
	display: flex;
	align-items: center;
	justify-content: space-between;
	min-height: 58px;
	padding: 14px 18px;
	color: var(--osh-ink);
	font-weight: 800;
	cursor: pointer;
	list-style: none;
}

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

.osh-faq summary::after {
	content: "+";
	color: var(--osh-blue);
	font-size: 24px;
	font-weight: 400;
}

.osh-faq details[open] summary::after {
	content: "−";
}

.osh-faq details p {
	margin: 0;
	padding: 0 18px 18px;
	color: var(--osh-muted);
}

.osh-site-footer {
	color: var(--osh-white);
	background:
		linear-gradient( 180deg, rgba( 11, 105, 226, 0.92 ), rgba( 13, 70, 169, 0.96 ) ),
		var(--osh-landscape) center bottom / cover;
}

.osh-footer-grid {
	display: grid;
	grid-template-columns: minmax(280px, 1.5fr) repeat(3, minmax(130px, 0.7fr));
	gap: 48px;
	padding-block: 62px 44px;
}

.osh-footer-grid h2 {
	margin: 0 0 14px;
	font-size: 15px;
}

.osh-footer-grid ul {
	padding: 0;
	margin: 0;
	list-style: none;
}

.osh-footer-grid li + li {
	margin-top: 7px;
}

.osh-footer-grid a {
	color: var(--osh-white);
	text-decoration: none;
}

.osh-footer-grid a:hover {
	text-decoration: underline;
}

.osh-footer-brand p {
	max-width: 390px;
	margin: 18px 0 0;
	color: rgba( 255, 255, 255, 0.84 );
	font-size: 13px;
}

.osh-footer-bottom {
	padding: 18px 20px 26px;
	border-top: 1px solid rgba( 255, 255, 255, 0.2 );
	text-align: center;
}

.osh-footer-bottom p {
	margin: 4px 0;
	color: rgba( 255, 255, 255, 0.76 );
	font-size: 12px;
}

/* Article and standard pages */
.osh-article-hero,
.osh-page-hero {
	position: relative;
	overflow: hidden;
	padding-block: 56px 60px;
	background:
		linear-gradient( 90deg, rgba( 238, 248, 255, 0.98 ), rgba( 237, 250, 255, 0.77 ), rgba( 255, 255, 255, 0.74 ) ),
		var(--osh-landscape) center 45% / cover;
}

.osh-article-hero::after,
.osh-page-hero::after {
	position: absolute;
	inset: auto 0 0;
	height: 42px;
	content: "";
	background: linear-gradient( transparent, #fff );
}

.osh-breadcrumb {
	display: flex;
	align-items: center;
	gap: 9px;
	min-height: 36px;
	margin-bottom: 22px;
	color: var(--osh-muted);
	font-size: 12px;
	white-space: nowrap;
	overflow: hidden;
}

.osh-breadcrumb a {
	color: var(--osh-blue);
	text-decoration: none;
}

.osh-breadcrumb span[aria-current="page"] {
	overflow: hidden;
	text-overflow: ellipsis;
}

.osh-article-hero h1 {
	max-width: 900px;
	margin-top: 16px;
	color: var(--osh-ink);
	font-size: clamp( 34px, 4vw, 54px );
}

.osh-page-hero h1 {
	color: var(--osh-ink);
	font-size: clamp( 36px, 4.5vw, 58px );
}

.osh-post-meta {
	display: flex;
	flex-wrap: wrap;
	gap: 16px 28px;
	margin-top: 20px;
	color: var(--osh-muted);
	font-size: 13px;
}

.osh-content-layout {
	display: grid;
	grid-template-columns: minmax(0, 780px) minmax(280px, 320px);
	justify-content: space-between;
	align-items: start;
	gap: 56px;
	padding-block: 56px 96px;
}

.osh-article {
	min-width: 0;
}

.osh-featured-image {
	margin: 0 0 34px;
	overflow: hidden;
	border-radius: var(--osh-radius);
	background: var(--osh-pale);
	box-shadow: var(--osh-shadow);
}

.osh-featured-image img {
	width: 100%;
	max-height: 560px;
	object-fit: cover;
}

.osh-entry-content {
	color: var(--osh-body);
	font-size: 17px;
	line-height: 2;
	overflow-wrap: anywhere;
}

.osh-entry-content > * {
	max-width: 100%;
}

.osh-entry-content p,
.osh-entry-content ul,
.osh-entry-content ol {
	margin-top: 0;
	margin-bottom: 1.7em;
}

.osh-entry-content h2 {
	position: relative;
	margin: 3em 0 1.25em;
	padding: 20px 24px 20px 30px;
	border-radius: 0 14px 14px 0;
	color: var(--osh-ink);
	background: linear-gradient( 90deg, #e8f5ff, #f4fbff );
	font-family: var(--osh-serif);
	font-size: clamp( 26px, 3vw, 36px );
	line-height: 1.5;
}

.osh-entry-content h2::before {
	position: absolute;
	inset: 0 auto 0 0;
	width: 5px;
	border-radius: 99px;
	content: "";
	background: linear-gradient( 180deg, var(--osh-blue), var(--osh-leaf) );
}

.osh-entry-content h3 {
	position: relative;
	margin: 2.5em 0 1em;
	padding-left: 28px;
	color: var(--osh-blue);
	font-family: var(--osh-serif);
	font-size: clamp( 21px, 2.2vw, 27px );
	line-height: 1.55;
}

.osh-entry-content h3::before {
	position: absolute;
	left: 0;
	top: 0.37em;
	content: "♧";
	color: var(--osh-leaf);
	font-family: var(--osh-sans);
	font-size: 18px;
}

.osh-entry-content h4 {
	margin: 2em 0 0.9em;
	color: var(--osh-ink);
	font-size: 19px;
}

.osh-entry-content blockquote {
	position: relative;
	margin: 2em 0;
	padding: 24px 28px 24px 66px;
	border: 1px solid #b9d9ff;
	border-radius: 16px;
	background: linear-gradient( 120deg, #f5fbff, #fff );
	box-shadow: var(--osh-shadow-soft);
}

.osh-entry-content blockquote::before {
	position: absolute;
	left: 22px;
	top: 20px;
	content: "☁";
	color: var(--osh-blue);
	font-size: 26px;
}

.osh-entry-content blockquote p:last-child {
	margin-bottom: 0;
}

.osh-entry-content img {
	border-radius: 14px;
}

.osh-entry-content table {
	width: 100%;
	margin: 2em 0;
	border-collapse: collapse;
	font-size: 15px;
}

.osh-entry-content th,
.osh-entry-content td {
	padding: 12px;
	border: 1px solid var(--osh-line);
	text-align: left;
}

.osh-entry-content th {
	color: var(--osh-ink);
	background: var(--osh-pale);
}

.osh-entry-content .wp-block-button__link {
	border-radius: 999px;
	background: linear-gradient( 100deg, var(--osh-blue), var(--osh-rose) );
	box-shadow: var(--osh-shadow-soft);
}

.osh-toc {
	margin: 34px 0 44px;
	border: 1px solid #bfdcff;
	border-radius: 18px;
	background: linear-gradient( 145deg, #f6fbff, #fff );
	box-shadow: var(--osh-shadow-soft);
}

.osh-toc summary {
	display: flex;
	align-items: center;
	justify-content: space-between;
	min-height: 62px;
	padding: 14px 20px;
	color: var(--osh-ink);
	font-weight: 800;
	cursor: pointer;
	list-style: none;
}

.osh-toc summary::-webkit-details-marker {
	display: none;
}

.osh-toc summary::before {
	margin-right: 10px;
	content: "▤";
	color: var(--osh-blue);
	font-size: 21px;
}

.osh-toc summary::after {
	margin-left: auto;
	content: "⌃";
	color: var(--osh-blue);
}

.osh-toc:not([open]) summary::after {
	content: "⌄";
}

.osh-toc-list {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 8px 24px;
	padding: 0 24px 22px 44px;
	margin: 0;
}

.osh-toc-list li {
	color: var(--osh-blue);
}

.osh-toc-list li.osh-toc-level-3 {
	margin-left: 18px;
	font-size: 14px;
}

.osh-toc-list a {
	color: var(--osh-ink);
	text-decoration: none;
}

.osh-toc-list a:hover {
	color: var(--osh-blue);
	text-decoration: underline;
}

.osh-author-card {
	display: grid;
	grid-template-columns: auto 1fr;
	align-items: center;
	gap: 20px;
	margin-top: 64px;
	padding: 22px;
	border: 1px solid var(--osh-line);
	border-radius: 18px;
	background: var(--osh-white);
	box-shadow: var(--osh-shadow-soft);
}

.osh-author-card img {
	width: 76px;
	height: 76px;
	border-radius: 50%;
}

.osh-author-card h2,
.osh-author-card p {
	margin: 0;
}

.osh-author-card h2 {
	color: var(--osh-ink);
	font-size: 18px;
}

.osh-author-card p:last-child {
	color: var(--osh-muted);
	font-size: 14px;
}

.osh-post-tags,
.osh-tag-cloud {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.osh-post-tags a,
.osh-tag-cloud a {
	display: inline-flex;
	align-items: center;
	min-height: 34px;
	padding: 5px 11px;
	border: 1px solid #bcd9ff;
	border-radius: 999px;
	color: var(--osh-blue);
	background: #f7fbff;
	font-size: 12px;
	text-decoration: none;
}

.osh-related {
	margin-top: 64px;
}

.osh-related > h2 {
	margin-bottom: 24px;
	font-size: 28px;
}

.osh-related-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 16px;
}

.osh-related-grid .osh-post-card-body {
	padding: 14px;
}

.osh-related-grid .osh-post-card h3 {
	font-size: 14px;
}

.osh-related-grid .osh-post-card p {
	display: none;
}

.osh-post-navigation {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 14px;
	margin-top: 42px;
}

.osh-post-navigation a {
	display: block;
	min-height: 82px;
	padding: 14px 18px;
	border: 1px solid var(--osh-line);
	border-radius: 14px;
	color: var(--osh-ink);
	background: #fff;
	font-weight: 700;
	text-decoration: none;
	box-shadow: var(--osh-shadow-soft);
}

.osh-post-navigation span {
	display: block;
	color: var(--osh-muted);
	font-size: 11px;
	font-weight: 500;
}

.osh-sidebar {
	display: flex;
	flex-direction: column;
	gap: 18px;
	min-width: 0;
}

.osh-side-card {
	padding: 22px;
	border: 1px solid var(--osh-line);
	border-radius: 18px;
	background: var(--osh-white);
	box-shadow: var(--osh-shadow-soft);
}

.osh-side-title {
	margin: 0 0 16px;
	color: var(--osh-ink);
	font-family: var(--osh-serif);
	font-size: 19px;
}

.search-form {
	display: flex;
	gap: 8px;
}

.search-form label {
	flex: 1;
	min-width: 0;
}

.search-field {
	width: 100%;
	min-height: 46px;
	padding: 10px 13px;
	border: 1px solid #b8cde7;
	border-radius: 10px;
	color: var(--osh-body);
	background: #fff;
}

.search-submit {
	min-width: 48px;
	min-height: 46px;
	padding: 8px 12px;
	border: 0;
	border-radius: 10px;
	color: #fff;
	background: var(--osh-blue);
	font-weight: 700;
	cursor: pointer;
}

.osh-ranking-list {
	padding: 0;
	margin: 0;
	list-style: none;
}

.osh-ranking-list li {
	position: relative;
}

.osh-ranking-list li + li {
	margin-top: 12px;
	padding-top: 12px;
	border-top: 1px solid #edf2f8;
}

.osh-ranking-list a {
	display: grid;
	grid-template-columns: 78px 1fr;
	align-items: center;
	gap: 12px;
	color: var(--osh-ink);
	text-decoration: none;
}

.osh-ranking-list img,
.osh-ranking-placeholder {
	width: 78px;
	height: 54px;
	border-radius: 9px;
	object-fit: cover;
	background: var(--osh-landscape) center / cover;
}

.osh-ranking-list strong {
	display: -webkit-box;
	overflow: hidden;
	font-size: 13px;
	line-height: 1.55;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
}

.osh-rank {
	position: absolute;
	left: -7px;
	top: -6px;
	z-index: 2;
	display: grid;
	place-items: center;
	width: 25px;
	height: 25px;
	border-radius: 50%;
	color: #fff;
	background: linear-gradient( 135deg, #b88616, #f0c85e );
	font-size: 11px;
	font-weight: 800;
	box-shadow: 0 5px 10px rgba( 70, 46, 0, 0.18 );
}

.osh-sticky-cta-wrap {
	position: sticky;
	top: 96px;
	z-index: 2;
}

.osh-side-app-cta {
	position: relative;
	isolation: isolate;
	overflow: hidden;
	padding: 24px;
	border-radius: 22px;
	color: #fff;
	background:
		linear-gradient( 180deg, rgba( 5, 62, 170, 0.84 ), rgba( 19, 124, 219, 0.64 ) ),
		var(--osh-landscape) center / cover;
	box-shadow: 0 20px 46px rgba( 2, 53, 145, 0.22 );
	text-align: center;
}

.osh-side-app-cta::after {
	position: absolute;
	inset: auto -40px -90px;
	z-index: -1;
	height: 170px;
	border-radius: 50%;
	content: "";
	background: rgba( 255, 255, 255, 0.16 );
	filter: blur(10px);
}

.osh-side-app-icon {
	width: 58px;
	height: 58px;
	margin: 0 auto 12px;
	border-radius: 17px;
	box-shadow: 0 8px 22px rgba( 0, 34, 110, 0.22 );
}

.osh-side-app-cta h2 {
	margin: 4px 0 4px;
	color: #fff;
	font-family: var(--osh-serif);
	font-size: 25px;
	line-height: 1.5;
}

.osh-side-kicker {
	margin: 0;
	font-size: 12px;
	font-weight: 700;
}

.osh-side-devices {
	width: 88%;
	margin: 6px auto 10px;
	border-radius: 16px;
}

.osh-side-app-cta .osh-button {
	width: 100%;
	padding-inline: 12px;
	font-size: 14px;
}

.osh-category-list {
	padding: 0;
	margin: 0;
	list-style: none;
}

.osh-category-list li {
	display: flex;
	justify-content: space-between;
	gap: 10px;
	padding: 7px 0;
	color: var(--osh-muted);
	font-size: 13px;
}

.osh-category-list li + li {
	border-top: 1px solid #edf2f8;
}

.osh-category-list a {
	color: var(--osh-body);
	text-decoration: none;
}

.osh-side-book > div {
	display: flex;
	align-items: end;
	justify-content: center;
	gap: 14px;
	margin: 18px 0;
}

.osh-side-book img {
	width: 38%;
	max-height: 170px;
	border-radius: 3px 7px 7px 3px;
	object-fit: cover;
	box-shadow: 0 12px 22px rgba( 16, 51, 107, 0.18 );
}

.osh-side-book .osh-button {
	width: 100%;
	font-size: 13px;
}

.osh-page-main {
	min-height: 60vh;
}

.osh-page-content {
	padding-block: 60px 100px;
}

.osh-page-content.osh-entry-content {
	max-width: 920px;
}

.osh-archive-wrap {
	padding-block: 56px 96px;
}

.osh-archive-wrap .navigation.pagination {
	margin-top: 48px;
}

.nav-links {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	gap: 8px;
}

.nav-links .page-numbers {
	display: grid;
	place-items: center;
	min-width: 44px;
	min-height: 44px;
	padding: 6px 12px;
	border: 1px solid var(--osh-line);
	border-radius: 10px;
	text-decoration: none;
}

.nav-links .current {
	color: #fff;
	background: var(--osh-blue);
}

.osh-not-found {
	display: grid;
	place-items: center;
	min-height: 70vh;
	padding-block: 90px;
	text-align: center;
	background: linear-gradient( 180deg, #f1faff, #fff );
}

.osh-not-found img {
	margin: 0 auto 18px;
	border-radius: 30px;
	box-shadow: var(--osh-shadow);
}

.osh-not-found h1 {
	color: var(--osh-ink);
	font-family: var(--osh-serif);
	font-size: clamp( 32px, 5vw, 54px );
}

.osh-not-found .osh-hero-actions {
	justify-content: center;
}

.osh-comments {
	margin-top: 54px;
	padding: 28px;
	border: 1px solid var(--osh-line);
	border-radius: 18px;
	background: var(--osh-pale);
}

.osh-comments h2 {
	color: var(--osh-ink);
	font-size: 21px;
}

.comment-list {
	padding-left: 24px;
}

.comment-form input:not([type="submit"]),
.comment-form textarea {
	width: 100%;
	padding: 12px;
	border: 1px solid #b8cde7;
	border-radius: 10px;
	background: #fff;
}

.comment-form .submit {
	min-height: 46px;
	padding: 10px 20px;
	border: 0;
	border-radius: 999px;
	color: #fff;
	background: var(--osh-blue);
	font-weight: 700;
}

@media (prefers-reduced-motion: reduce) {
	html {
		scroll-behavior: auto;
	}

	*,
	*::before,
	*::after {
		scroll-behavior: auto !important;
		transition-duration: 0.01ms !important;
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
	}
}

@media (max-width: 1100px) {
	.osh-header-inner {
		width: min(100% - 28px, 1180px);
	}

	.osh-menu-toggle {
		display: block;
	}

	.osh-primary-nav {
		position: fixed;
		inset: 78px 0 auto;
		display: grid;
		gap: 16px;
		max-height: calc(100vh - 78px);
		padding: 24px 20px 30px;
		overflow-y: auto;
		background: rgba( 5, 38, 132, 0.98 );
		box-shadow: 0 20px 34px rgba( 0, 25, 85, 0.24 );
		transform: translateY(-130%);
		visibility: hidden;
		transition: transform 0.24s ease, visibility 0.24s ease;
	}

	.osh-primary-nav.is-open {
		transform: translateY(0);
		visibility: visible;
	}

	.osh-nav-list {
		display: grid;
		gap: 0;
	}

	.osh-nav-list li + li {
		border-top: 1px solid rgba( 255, 255, 255, 0.16 );
	}

	.osh-nav-list a {
		min-height: 54px;
	}

	.osh-header-cta {
		width: 100%;
	}

	.osh-menu-toggle[aria-expanded="true"] > span:nth-of-type(2) {
		transform: translateY(7px) rotate(45deg);
	}

	.osh-menu-toggle[aria-expanded="true"] > span:nth-of-type(3) {
		opacity: 0;
	}

	.osh-menu-toggle[aria-expanded="true"] > span:nth-of-type(4) {
		transform: translateY(-7px) rotate(-45deg);
	}

	.osh-hero-grid {
		grid-template-columns: minmax(0, 1fr) minmax(360px, 0.85fr);
	}

	.osh-content-layout {
		grid-template-columns: minmax(0, 1fr) 290px;
		gap: 34px;
	}

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

	.osh-flow-grid li::after {
		display: none;
	}
}

@media (max-width: 860px) {
	.osh-container {
		width: min(100% - 32px, var(--osh-max));
	}

	.osh-hero {
		min-height: auto;
		background-image:
			linear-gradient( 180deg, rgba( 4, 41, 135, 0.7 ) 0%, rgba( 14, 119, 213, 0.17 ) 38%, rgba( 255, 255, 255, 0.02 ) 70% ),
			var(--osh-landscape);
		background-position: 54% center;
	}

	.osh-hero-grid {
		grid-template-columns: 1fr;
		min-height: auto;
		padding-block: 64px 98px;
		text-align: center;
	}

	.osh-hero-copy {
		text-shadow: 0 2px 12px rgba( 0, 27, 88, 0.58 );
	}

	.osh-hero h1 {
		max-width: none;
		font-size: clamp( 40px, 10vw, 64px );
	}

	.osh-hero-actions,
	.osh-fact-pills {
		justify-content: center;
	}

	.osh-hero-product {
		min-height: 360px;
		margin-top: -20px;
	}

	.osh-hero-product img {
		width: min(100%, 500px);
	}

	.osh-entrance-grid,
	.osh-post-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.osh-entrance-card:last-child {
		grid-column: 1 / -1;
	}

	.osh-value-grid,
	.osh-stage-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.osh-book-grid,
	.osh-evidence-grid {
		grid-template-columns: 1fr;
	}

	.osh-book-grid {
		gap: 36px;
	}

	.osh-book-visual {
		min-height: 360px;
	}

	.osh-content-layout {
		grid-template-columns: 1fr;
	}

	.osh-sidebar {
		margin-top: 24px;
	}

	.osh-sticky-cta-wrap {
		position: static;
		order: -1;
	}

	.osh-side-app-cta {
		display: grid;
		grid-template-columns: auto minmax(0, 1fr) minmax(150px, 0.55fr);
		align-items: center;
		gap: 16px;
		text-align: left;
	}

	.osh-side-app-icon,
	.osh-side-kicker {
		display: none;
	}

	.osh-side-app-cta h2 {
		font-size: 24px;
	}

	.osh-side-devices {
		grid-column: 3;
		grid-row: 1 / span 2;
		width: 100%;
		margin: 0;
	}

	.osh-side-app-cta .osh-button {
		width: fit-content;
	}

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

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

@media (max-width: 600px) {
	html {
		scroll-padding-top: 68px;
	}

	body {
		font-size: 15px;
	}

	.osh-container {
		width: min(100% - 32px, var(--osh-max));
	}

	.osh-header-inner {
		width: calc(100% - 24px);
		min-height: 64px;
	}

	.osh-brand {
		gap: 9px;
		max-width: calc(100% - 62px);
		font-size: 14px;
		overflow: hidden;
	}

	.osh-brand img,
	.osh-brand .custom-logo {
		flex: 0 0 auto;
		width: 40px;
		height: 40px;
		border-radius: 12px;
	}

	.osh-brand > span:last-child {
		overflow: hidden;
		text-overflow: ellipsis;
	}

	.osh-primary-nav {
		inset: 64px 0 auto;
		max-height: calc(100vh - 64px);
	}

	.osh-hero {
		background-position: 53% center;
	}

	.osh-hero-grid {
		gap: 24px;
		padding-block: 46px 84px;
	}

	.osh-hero h1 {
		font-size: clamp( 38px, 11.5vw, 52px );
		line-height: 1.48;
	}

	.osh-hero-lead {
		font-size: 17px;
	}

	.osh-hero-copy > p:not(.osh-eyebrow, .osh-hero-lead) {
		font-size: 14px;
	}

	.osh-hero-actions {
		display: grid;
		gap: 10px;
	}

	.osh-button {
		width: 100%;
		min-height: 50px;
	}

	.osh-text-link {
		justify-content: center;
	}

	.osh-fact-pills {
		display: grid;
		grid-template-columns: repeat(3, minmax(0, 1fr));
		width: 100%;
		gap: 7px;
		margin-top: 22px;
	}

	.osh-fact-pills li {
		justify-content: center;
		min-width: 0;
		min-height: 54px;
		padding: 7px;
		font-size: 10px;
		line-height: 1.4;
	}

	.osh-hero-product {
		min-height: 300px;
		margin-top: -14px;
	}

	.osh-hero-product img {
		width: 100%;
		border-radius: 22px;
	}

	.osh-entrances {
		margin-top: -34px;
	}

	.osh-entrance-grid,
	.osh-post-grid {
		grid-template-columns: 1fr;
	}

	.osh-entrance-card:last-child {
		grid-column: auto;
	}

	.osh-entrance-card {
		min-height: 108px;
		padding: 17px;
	}

	.osh-section,
	.osh-section-tight {
		padding-block: 68px;
	}

	.osh-section-tight {
		padding-block: 0 30px;
	}

	.osh-section-heading {
		gap: 10px;
		margin-bottom: 30px;
		text-align: left;
	}

	.osh-section-heading h2,
	.osh-book-section h2,
	.osh-evidence h2,
	.osh-faq > .osh-container > h2 {
		font-size: 29px;
	}

	.osh-section-number {
		font-size: 27px;
	}

	.osh-value-grid,
	.osh-stage-grid {
		grid-template-columns: 1fr;
	}

	.osh-value-grid article {
		display: grid;
		grid-template-columns: 52px 1fr;
		gap: 0 14px;
		text-align: left;
	}

	.osh-value-grid article > span {
		grid-row: 1 / span 2;
		width: 52px;
		height: 52px;
		margin: 0;
	}

	.osh-stage-section {
		padding-block: 64px;
		background-position: 56% center;
	}

	.osh-stage-grid li {
		min-height: 0;
	}

	.osh-book-visual {
		min-height: 300px;
	}

	.osh-book-visual img {
		width: 45%;
	}

	.osh-heading-between {
		align-items: flex-start;
	}

	.osh-heading-between > a {
		display: none;
	}

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

	.osh-flow-grid li {
		padding: 20px 12px;
	}

	.osh-flow-grid li > span {
		width: 52px;
		height: 52px;
	}

	.osh-faq-grid {
		grid-template-columns: 1fr;
	}

	.osh-footer-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 30px 20px;
		padding-block: 48px 34px;
	}

	.osh-footer-brand {
		grid-column: 1 / -1;
	}

	.osh-article-hero,
	.osh-page-hero {
		padding-block: 34px 42px;
	}

	.osh-article-hero h1,
	.osh-page-hero h1 {
		font-size: 32px;
	}

	.osh-content-layout {
		gap: 24px;
		padding-block: 30px 70px;
	}

	.osh-featured-image {
		margin-bottom: 26px;
		border-radius: 16px;
	}

	.osh-entry-content {
		font-size: 16px;
		line-height: 1.95;
	}

	.osh-entry-content h2 {
		margin-top: 2.5em;
		padding: 16px 16px 16px 22px;
		font-size: 25px;
	}

	.osh-entry-content h3 {
		font-size: 21px;
	}

	.osh-entry-content blockquote {
		padding: 20px 18px 20px 50px;
	}

	.osh-entry-content blockquote::before {
		left: 16px;
	}

	.osh-toc-list {
		grid-template-columns: 1fr;
	}

	.osh-author-card {
		align-items: start;
		padding: 18px;
	}

	.osh-author-card img {
		width: 62px;
		height: 62px;
	}

	.osh-related-grid {
		grid-template-columns: 1fr;
	}

	.osh-related-grid .osh-post-card {
		display: grid;
		grid-template-columns: 118px 1fr;
	}

	.osh-related-grid .osh-post-card-media {
		height: 100%;
		aspect-ratio: auto;
	}

	.osh-post-navigation {
		grid-template-columns: 1fr;
	}

	.osh-side-app-cta {
		display: block;
		text-align: center;
	}

	.osh-side-devices {
		width: min(80%, 280px);
		margin: 4px auto 10px;
	}

	.osh-side-app-cta .osh-button {
		width: 100%;
	}

	.osh-page-content {
		padding-block: 40px 72px;
	}

	.osh-archive-wrap {
		padding-block: 36px 72px;
	}
}

@media print {
	.osh-site-header,
	.osh-sidebar,
	.osh-site-footer,
	.osh-post-navigation,
	.osh-comments {
		display: none !important;
	}

	.osh-content-layout {
		display: block;
		width: 100%;
		padding: 0;
	}

	.osh-article-hero {
		padding: 20px 0;
		background: #fff;
	}

	a {
		color: #000;
	}
}

/* Scroll experience — calm, optional, and content-first. */
.osh-reading-progress {
	--osh-reading-progress: 0;
	position: fixed;
	inset: 78px 0 auto;
	z-index: 1001;
	display: none;
	height: 3px;
	overflow: hidden;
	pointer-events: none;
	background: rgba(255, 255, 255, 0.22);
}

.osh-reading-progress > span {
	display: block;
	width: 100%;
	height: 100%;
	background: linear-gradient(90deg, #22a9f3 0%, #5dd7d0 52%, #ffacd2 100%);
	box-shadow: 0 0 10px rgba(66, 189, 244, 0.54);
	transform: scaleX(var(--osh-reading-progress));
	transform-origin: left center;
	will-change: transform;
}

.osh-motion-enabled .osh-reading-progress {
	display: block;
}

.admin-bar .osh-reading-progress {
	top: 110px;
}

.osh-motion-ready [data-osh-reveal],
.osh-motion-ready [data-osh-intro] {
	opacity: 0;
	will-change: opacity, transform;
	transition:
		opacity 720ms cubic-bezier(0.22, 1, 0.36, 1),
		transform 760ms cubic-bezier(0.22, 1, 0.36, 1);
	transition-delay: var(--osh-motion-delay, 0ms);
}

.osh-motion-ready [data-osh-reveal="up"] {
	transform: translate3d(0, 22px, 0);
}

.osh-motion-ready [data-osh-reveal="left"] {
	transform: translate3d(-24px, 0, 0);
}

.osh-motion-ready [data-osh-reveal="right"] {
	transform: translate3d(24px, 0, 0);
}

.osh-motion-ready [data-osh-reveal="scale"] {
	transform: translate3d(0, 12px, 0) scale(0.985);
}

.osh-motion-ready [data-osh-reveal].is-osh-visible {
	opacity: 1;
	transform: translate3d(0, 0, 0) scale(1);
}

.osh-motion-ready [data-osh-intro] {
	transform: translate3d(0, calc(18px + var(--osh-parallax-y, 0px)), 0);
}

.osh-motion-ready .osh-hero-product[data-osh-intro] {
	transform: translate3d(0, calc(14px + var(--osh-parallax-y, 0px)), 0) scale(0.985);
}

.osh-motion-ready.osh-motion-started [data-osh-intro] {
	opacity: 1;
	transform: translate3d(0, var(--osh-parallax-y, 0px), 0);
}

.osh-motion-ready.osh-motion-started .osh-hero-product[data-osh-intro] {
	transform: translate3d(0, var(--osh-parallax-y, 0px), 0) scale(1);
}

[data-osh-parallax] {
	transform: translate3d(0, var(--osh-parallax-y, 0px), 0);
	will-change: transform;
}

.osh-motion-reduced .osh-reading-progress,
.osh-motion-disabled .osh-reading-progress {
	display: none !important;
}

@media (max-width: 782px) {
	.admin-bar .osh-reading-progress {
		top: 124px;
	}
}

@media (max-width: 600px) {
	.osh-motion-ready [data-osh-reveal="up"] {
		transform: translate3d(0, 14px, 0);
	}

	.osh-motion-ready [data-osh-reveal="left"] {
		transform: translate3d(-14px, 0, 0);
	}

	.osh-motion-ready [data-osh-reveal="right"] {
		transform: translate3d(14px, 0, 0);
	}
}

@media (prefers-reduced-motion: reduce) {
	.osh-reading-progress {
		display: none !important;
	}

	.osh-motion-ready [data-osh-reveal],
	.osh-motion-ready [data-osh-intro],
	[data-osh-parallax] {
		opacity: 1 !important;
		transform: none !important;
		transition: none !important;
	}
}

@media print {
	.osh-reading-progress {
		display: none !important;
	}

	[data-osh-reveal],
	[data-osh-intro],
	[data-osh-parallax] {
		opacity: 1 !important;
		transform: none !important;
		transition: none !important;
	}
}

/* Photorealistic generated hardware shells with untouched, real app captures. */
.osh-editorial .osh-device-showcase {
	position: relative;
	isolation: isolate;
	width: min(100%, 560px);
	aspect-ratio: 1.08;
	margin-inline: auto;
}

.osh-editorial .osh-device-iphone {
	position: absolute;
	left: 3%;
	top: 0;
	z-index: 2;
	width: 45%;
	aspect-ratio: 0.482;
	filter: drop-shadow(0 25px 30px rgba(0, 25, 82, .32));
}

.osh-editorial .osh-device-iphone-shell,
.osh-editorial .osh-device-watch-shell {
	position: absolute;
	inset: 0;
	z-index: 1;
	display: block;
	width: 100%;
	height: 100%;
	max-width: none;
	object-fit: fill;
	pointer-events: none;
	filter: none;
	transform: none;
}

.osh-editorial .osh-device-iphone-screen {
	position: absolute;
	left: 6%;
	top: 3.2%;
	z-index: 2;
	width: 88%;
	height: 93.6%;
	overflow: hidden;
	border-radius: 11.2% / 5.2%;
	background: #03226d;
	box-shadow: inset 0 0 0 1px rgba(255,255,255,.16);
}

.osh-editorial .osh-device-iphone-screen img,
.osh-editorial .osh-device-watch-screen img {
	display: block;
	width: 100%;
	height: 100%;
	max-width: none;
	object-fit: cover;
	filter: none;
	transform: none;
}

.osh-editorial .osh-device-watch {
	position: absolute;
	right: 19%;
	top: 19%;
	z-index: 3;
	width: 28.5%;
	aspect-ratio: 0.525;
	filter: drop-shadow(0 22px 25px rgba(0, 24, 72, .32));
}

.osh-editorial .osh-device-watch-screen {
	position: absolute;
	left: 13%;
	top: 27%;
	z-index: 2;
	width: 74%;
	height: 46%;
	overflow: hidden;
	border-radius: 22% / 16%;
	background: #06398f;
	box-shadow: inset 0 0 0 1px rgba(255,255,255,.13);
}

.osh-editorial .osh-device-showcase .osh-device-earbuds {
	position: absolute;
	right: -1%;
	bottom: -2%;
	z-index: 5;
	width: 49%;
	height: auto;
	max-width: none;
	filter: drop-shadow(0 18px 20px rgba(0, 30, 82, .26));
	transform: none;
}

.osh-editorial .osh-device-showcase--compact {
	width: 250px;
	justify-self: end;
}



/* 1.5.0 — editorial surfaces. Scoped to keep the approved app LP unchanged. */
.osh-editorial .osh-lp-sprite { position:absolute; width:0; height:0; overflow:hidden; pointer-events:none; }
.osh-editorial .osh-lp-icon { display:block; width:1em; height:1em; margin:0; overflow:visible; color:inherit; flex-shrink:0; }
.osh-editorial .osh-site-header { color:#fff; }
.osh-editorial.admin-bar .osh-site-header { top:32px; }
.osh-editorial .osh-brand { font-size:16px; min-width:0; }
.osh-editorial .osh-brand img { flex-shrink:0; }
.osh-editorial .osh-footer-grid h2 { color:#fff; font-weight:750; }
.osh-editorial .osh-footer-grid a { display:inline-flex; align-items:center; min-height:34px; }
.osh-editorial .osh-footer-brand p { color:#e3efff; font-size:14px; }
.osh-editorial .osh-footer-bottom p { color:#d9eaff; font-size:13px; }
.osh-editorial .osh-site-footer { background:linear-gradient(120deg,rgba(5,44,136,.96),rgba(8,112,220,.88)),var(--osh-landscape) center bottom / cover; }
.osh-editorial.home .osh-site-header { position:absolute; inset:0 0 auto; background:linear-gradient(180deg,rgba(3,31,113,.58),transparent); border:0; box-shadow:none; backdrop-filter:none; }
.osh-editorial.home.admin-bar .osh-site-header { top:32px; }
.osh-home .osh-hero { min-height:720px; }
.osh-home .osh-hero-grid { grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr); min-height:720px; gap:28px; padding-block:112px 98px; }
.osh-home .osh-hero-copy h1 { color:#fff; font-size:clamp(44px,4.3vw,62px); line-height:1.4; letter-spacing:.015em; }
.osh-home .osh-hero-lead { color:#fff; font-size:clamp(17px,1.5vw,21px); line-height:1.8; }
.osh-home .osh-hero-product { min-height:470px; align-self:center; }
.osh-home .osh-hero-actions { gap:20px; }
.osh-home .osh-fact-pills { gap:0; margin-top:28px; flex-wrap:nowrap; }
.osh-home .osh-fact-pills li { gap:8px; padding:12px; border-radius:0; font-size:12px; }
.osh-home .osh-fact-pills li:first-child { border-radius:12px 0 0 12px; }
.osh-home .osh-fact-pills li:last-child { border-radius:0 12px 12px 0; }
.osh-home .osh-fact-pills .osh-lp-icon { width:22px; height:22px; color:#0868ee; }
.osh-home .osh-entrances { margin-top:-42px; padding-bottom:20px; }
.osh-home .osh-entrance-card { grid-template-columns:26px minmax(0,1fr) 82px; gap:12px; min-height:170px; padding:22px 18px; border-radius:16px; }
.osh-home .osh-entrance-icon { align-self:start; width:26px; height:30px; margin-top:2px; padding:0; background:none; font-size:25px; }
.osh-home .osh-entrance-card strong { font-size:17px; line-height:1.55; }
.osh-home .osh-entrance-card small { font-size:13px; color:#526581; line-height:1.75; }
.osh-home .osh-entrance-link { display:block; margin-top:12px; font-size:12px; font-weight:750; color:#0868ee; }
.osh-home .osh-entrance-media { width:82px; height:120px; border-radius:9px; object-fit:cover; }
.osh-home .osh-entrance-media-0 { object-fit:cover; object-position:top; border:3px solid #12345c; border-radius:11px; }
.osh-home .osh-entrance-media-1 { object-fit:contain; border-radius:2px; }
.osh-home .osh-section { padding-block:70px; }
.osh-home .osh-section-heading { margin-bottom:34px; }
.osh-home .osh-section-heading h2, .osh-home .osh-book-section h2, .osh-home .osh-evidence h2, .osh-home .osh-faq h2 { font-size:clamp(28px,2.5vw,36px); }
.osh-home .osh-section-heading p:not(.osh-section-number) { font-size:16px; color:#526581; }
.osh-home .osh-section-number { font-size:30px; }
.osh-home .osh-value-grid { border:0; border-radius:0; background:none; box-shadow:none; gap:0; overflow:visible; }
.osh-home .osh-value-grid article { padding:12px 28px; background:none; }
.osh-home .osh-value-grid article + article { border-left:1px solid #d7e7fb; }
.osh-home .osh-value-grid article > span { width:50px; height:50px; margin-bottom:16px; color:#0868ee; background:none; box-shadow:none; border-radius:0; }
.osh-home .osh-value-grid article > span .osh-lp-icon { width:48px; height:48px; }
.osh-home .osh-value-grid article:last-child > span { color:#4aa95e; }
.osh-home .osh-value-grid h3 { font-size:18px; }
.osh-home .osh-value-grid p { font-size:15px; color:#526581; }
.osh-home .osh-stage-section { padding-block:58px; }
.osh-home .osh-stage-section .osh-section-heading h2, .osh-home .osh-stage-section .osh-section-heading p { color:#fff; }
.osh-home .osh-stage-grid li { padding:22px; min-height:220px; box-shadow:none; backdrop-filter:none; }
.osh-home .osh-stage-grid li h3 { color:#fff; }
.osh-home .osh-stage-grid li p { color:#fff; font-size:15px; }
.osh-home .osh-stage-grid li:nth-child(2) { background:rgba(7,76,148,.83); }
.osh-home .osh-stage-grid li:nth-child(3) { background:rgba(24,96,88,.84); }
.osh-home .osh-stage-grid li:nth-child(4) { background:rgba(115,78,21,.86); }
.osh-home .osh-book-section { background:#fff; }
.osh-home .osh-book-grid { gap:56px; }
.osh-home .osh-book-grid > div > p { line-height:1.9; }
.osh-home .osh-book-visual { min-height:360px; }
.osh-home .osh-book-grid blockquote { margin:24px 0; padding:20px 24px; font-size:15px; color:#314260; }
.osh-home .osh-book-grid blockquote p { margin:0; }
.osh-home .osh-book-grid cite { display:block; margin-top:12px; color:#526581; font-size:13px; font-style:normal; }
.osh-home .osh-post-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.osh-home .osh-post-card { border-radius:16px; }
.osh-home .osh-post-card-body { padding:20px; }
.osh-home .osh-post-card h3 { font-size:18px; line-height:1.65; }
.osh-home .osh-post-card-body > p { font-size:14px; line-height:1.85; }
.osh-home .osh-flow-grid { border:0; gap:20px; }
.osh-home .osh-flow-grid li { padding:22px 12px; }
.osh-home .osh-flow-grid li > span { font-size:34px; color:#0868ee; }
.osh-home .osh-flow-note { max-width:760px; margin:24px auto 0; color:#526581; font-size:14px; text-align:center; }
.osh-home .osh-evidence-grid { grid-template-columns:minmax(0,1.2fr) minmax(0,1fr); gap:48px; }
.osh-home .osh-evidence-pills { display:grid; grid-template-columns:repeat(6,1fr); gap:8px; }
.osh-home .osh-evidence-pills span { display:flex; flex-direction:column; align-items:center; gap:8px; padding:12px 6px; background:transparent; box-shadow:none; font-size:13px; }
.osh-home .osh-evidence-pills .osh-lp-icon { width:28px; height:28px; color:#0868ee; }
.osh-home .osh-safety-note { align-self:center; padding:26px; }
.osh-home .osh-safety-note h3 { font-size:20px; }
.osh-home .osh-safety-note p { font-size:15px; line-height:1.9; }
.osh-home .osh-faq details p { color:#526581; font-size:15px; }

/* Reading layout: generous measure, without enlarging long titles indefinitely. */
.osh-editorial .osh-article-hero { padding-block:44px 48px; }
.osh-editorial .osh-article-hero h1 { max-width:1040px; font-size:clamp(29px,3.1vw,44px); line-height:1.55; letter-spacing:.03em; overflow-wrap:anywhere; }
.osh-editorial .osh-content-layout { grid-template-columns:minmax(0,780px) 320px; gap:clamp(32px,4vw,80px); align-items:stretch; }
.osh-editorial .osh-article { min-width:0; }
.osh-editorial .osh-entry-content { font-size:17px; line-height:2; }
.osh-editorial .osh-entry-content h2 { font-size:clamp(25px,2.5vw,34px); scroll-margin-top:128px; }
.osh-editorial .osh-entry-content h3 { scroll-margin-top:128px; }
.osh-editorial .osh-entry-content h3::before { content:""; top:.32em; width:20px; height:22px; background:#4aa95e; mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 22V10M12 16C5 16 3 12 3 6c7 0 9 4 9 10Zm0-5c0-6 3-9 9-9 0 6-3 9-9 9Z' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat; }
.osh-editorial .osh-toc-list { gap:12px 26px; font-size:15px; line-height:1.85; padding-right:28px; }
.osh-editorial .osh-toc-long[open] .osh-toc-list { grid-template-columns:1fr; }
.osh-editorial .osh-toc summary { min-height:64px; }
.osh-editorial .osh-toc summary::before { content:""; width:20px; height:20px; flex:0 0 auto; background:#0868ee; mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 4h16v16H4zM8 8h8M8 12h8M8 16h5' fill='none' stroke='black' stroke-width='1.6'/%3E%3C/svg%3E") center/contain no-repeat; }
.osh-editorial .osh-sidebar { align-self:stretch; display:block; }
.osh-editorial .osh-sidebar > * + * { margin-top:20px; }
.osh-editorial .osh-side-card { padding:22px; }
.osh-editorial .osh-side-title { font-size:19px; }
.osh-editorial .osh-ranking-list strong { font-size:14px; -webkit-line-clamp:3; }
.osh-editorial .osh-ranking-list a { grid-template-columns:78px minmax(0,1fr); gap:12px; }
.osh-editorial .osh-category-list li { font-size:14px; }
.osh-editorial .osh-tag-cloud a { font-size:13px; min-height:36px; }
.osh-editorial .osh-sticky-cta-wrap { position:sticky; top:106px; z-index:2; margin-top:24px; }
.osh-editorial.admin-bar .osh-sticky-cta-wrap { top:138px; }
.osh-editorial .osh-side-app-cta { padding:22px; display:block; text-align:center; }
.osh-editorial .osh-side-app-cta h2 { font-size:27px; }
.osh-editorial .osh-side-kicker { font-size:12px; }
.osh-editorial .osh-side-app-cta .osh-device-showcase { width:250px; max-width:100%; margin:22px auto 18px; }
.osh-editorial .osh-side-app-cta .osh-button { font-size:14px; }
.osh-editorial .osh-author-card { margin-top:44px; }
.osh-editorial .osh-related-grid { align-items:stretch; }
.osh-editorial .osh-related-grid .osh-post-card h3 { font-size:16px; line-height:1.65; }
.osh-editorial .osh-breadcrumb a { flex-shrink:0; }
.osh-editorial .osh-search-results .osh-post-card h3 { overflow-wrap:anywhere; }
.osh-editorial .osh-device-showcase img { border-radius:0; mask-image:none; -webkit-mask-image:none; }

@media (max-width:1100px) {
 .osh-home .osh-entrance-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
 .osh-home .osh-entrance-card { grid-template-columns:22px minmax(0,1fr); padding:20px 16px; }
 .osh-home .osh-entrance-media { display:none; }
 .osh-home .osh-entrance-card:last-child { grid-column:auto; }
 .osh-editorial .osh-content-layout { grid-template-columns:minmax(0,1fr) 290px; gap:32px; }
 .osh-home .osh-hero-copy h1 { font-size:clamp(40px,4.8vw,54px); }
 .osh-home .osh-fact-pills { flex-wrap:wrap; gap:8px; }
 .osh-home .osh-fact-pills li { border-radius:10px!important; }
}
@media (max-width:860px) {
 .osh-home .osh-hero-grid { grid-template-columns:1fr; gap:34px; padding-block:114px 86px; min-height:0; }
 .osh-home .osh-hero-copy h1 { font-size:clamp(36px,6.8vw,54px); }
 .osh-home .osh-hero-product { min-height:0; margin:0; }
 .osh-home .osh-hero-product .osh-device-showcase { width:min(100%,400px); }
 .osh-home .osh-hero { min-height:0; }
 .osh-home .osh-entrance-grid { grid-template-columns:1fr; }
 .osh-home .osh-entrance-card { grid-template-columns:28px minmax(0,1fr) 90px; min-height:148px; padding:20px; }
 .osh-home .osh-entrance-media { display:block; width:90px; height:110px; }
 .osh-home .osh-entrance-card strong { font-size:18px; }
 .osh-home .osh-entrance-card small { font-size:14px; }
 .osh-home .osh-section { padding-block:52px; }
 .osh-home .osh-value-grid article { padding:20px; }
 .osh-home .osh-value-grid article:nth-child(3) { border-left:0; }
 .osh-home .osh-book-grid, .osh-home .osh-evidence-grid { grid-template-columns:1fr; gap:32px; }
 .osh-home .osh-post-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
 .osh-editorial .osh-content-layout { grid-template-columns:1fr; gap:40px; }
 .osh-editorial .osh-sidebar { display:flex; flex-direction:column; gap:20px; }
 .osh-editorial .osh-sidebar > * + * { margin-top:0; }
 .osh-editorial .osh-sticky-cta-wrap { position:static; order:-1; margin:0; }
 .osh-editorial .osh-side-app-cta { display:block; max-width:520px; margin:auto; }
 .osh-editorial .osh-side-app-icon, .osh-editorial .osh-side-kicker { display:block; }
 .osh-editorial .osh-side-app-cta .osh-device-showcase { width:250px; }
}
@media (max-width:600px) {
 .osh-editorial.admin-bar .osh-site-header, .osh-editorial.home.admin-bar .osh-site-header { top:46px; }
 .osh-editorial .osh-header-inner { gap:12px; min-height:68px; }
 .osh-editorial .osh-brand { font-size:12px; letter-spacing:0; gap:8px; }
 .osh-editorial .osh-brand img { width:38px; height:38px; border-radius:11px; }
 .osh-home .osh-hero-copy h1 { font-size:clamp(32px,8.2vw,42px); line-height:1.5; }
 .osh-home .osh-hero-lead { font-size:16px; }
 .osh-home .osh-hero-copy > p:not(.osh-hero-lead) { font-size:15px; }
 .osh-home .osh-hero-actions { flex-direction:column; gap:14px; }
 .osh-home .osh-hero-actions .osh-button { width:min(100%,340px); }
 .osh-home .osh-fact-pills { justify-content:center; gap:6px; }
 .osh-home .osh-fact-pills li { font-size:11px; padding:9px 8px; gap:5px; }
 .osh-home .osh-fact-pills .osh-lp-icon { width:18px; height:18px; }
 .osh-home .osh-hero-product .osh-device-showcase { width:min(100%,320px); }
 .osh-home .osh-entrance-card { gap:10px; grid-template-columns:24px minmax(0,1fr) 68px; padding:18px 14px; }
 .osh-home .osh-entrance-media { width:68px; height:110px; }
 .osh-home .osh-entrance-card strong { font-size:16px; }
 .osh-home .osh-entrance-card small { font-size:13px; }
 .osh-home .osh-section-heading { gap:10px; margin-bottom:26px; text-align:left; }
 .osh-home .osh-section-heading h2, .osh-home .osh-book-section h2, .osh-home .osh-evidence h2, .osh-home .osh-faq h2 { font-size:27px; }
 .osh-home .osh-section-number { font-size:25px; }
 .osh-home .osh-section-heading p:not(.osh-section-number) { font-size:15px; }
 .osh-home .osh-value-grid article { padding:16px 13px; }
 .osh-home .osh-value-grid h3 { font-size:17px; }
 .osh-home .osh-value-grid p { font-size:14px; }
 .osh-home .osh-stage-grid { grid-template-columns:1fr; gap:14px; }
 .osh-home .osh-stage-grid li { min-height:0; display:grid; grid-template-columns:38px minmax(0,1fr); gap:8px 14px; padding:22px; }
 .osh-home .osh-stage-grid h3 { margin:4px 0 0; }
 .osh-home .osh-stage-grid p { grid-column:2; }
 .osh-home .osh-book-visual { min-height:320px; }
 .osh-home .osh-post-grid { grid-template-columns:1fr; }
 .osh-home .osh-flow-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
 .osh-home .osh-flow-grid li:last-child { grid-column:1/-1; }
 .osh-home .osh-flow-note { font-size:13px; text-align:left; }
 .osh-home .osh-evidence-pills { grid-template-columns:repeat(3,1fr); }
 .osh-editorial .osh-article-hero { padding-block:28px 34px; }
 .osh-editorial .osh-article-hero h1 { font-size:clamp(27px,6.7vw,33px); line-height:1.65; }
 .osh-editorial .osh-breadcrumb { margin-bottom:16px; font-size:11px; }
 .osh-editorial .osh-content-layout { padding-block:32px 64px; }
 .osh-editorial .osh-entry-content { font-size:16px; line-height:2; }
 .osh-editorial .osh-entry-content h2 { font-size:25px; padding:18px 18px 18px 24px; scroll-margin-top:118px; }
 .osh-editorial .osh-toc-list { grid-template-columns:1fr; padding-left:40px; padding-right:20px; }
 .osh-editorial .osh-toc summary { font-size:14px; padding-inline:16px; }
 .osh-editorial .osh-footer-grid { gap:28px; }
 .osh-editorial .osh-footer-grid h2 { font-size:16px; }
 .osh-editorial .osh-footer-grid a { min-height:40px; font-size:14px; }
}


/* Balanced Japanese headings and clean one-column value rows. */
.osh-editorial .osh-article-hero h1,
.osh-home .osh-section-heading h2,
.osh-home .osh-book-section h2,
.osh-home .osh-evidence h2 { text-wrap:balance; }
@media (max-width:600px) {
 .osh-home .osh-value-grid article + article { border-left:0; border-top:1px solid #d7e7fb; }
}



/* Preserve the full artwork and color detail; older browsers retain WebP. */
:root { --osh-landscape: url("../images/hero-landscape.webp"); }
@supports (background-image: image-set(url("../images/hero-landscape-high.avif") type("image/avif"))) {
 :root { --osh-landscape: image-set(url("../images/hero-landscape-high.avif") type("image/avif"), url("../images/hero-landscape.webp") type("image/webp")); }
}
/* The main product is visible immediately; its gentle arrival motion remains. */
.osh-motion-ready .osh-hero .osh-hero-product[data-osh-intro],
.osh-motion-ready .osh-hero.osh-app-lp-hero [data-osh-device-motion="iphone"][data-osh-intro] { opacity: 1; }


/* 1.6.7: transfer only the portion already visible on narrow mobile heroes.
   672x941 crops preserve cover geometry: (1672-672)*.53 = 530 (home),
   (1672-672)*.51 = 510 (app). Full artwork remains the desktop/fallback master. */
@media (max-width: 540px) {
	.osh-home .osh-hero { --osh-landscape: url("../images/hero-landscape-mobile-home.webp"); }
	.osh-app-lp-hero { --osh-landscape: url("../images/hero-landscape-mobile-app.webp"); }
}
@supports (background-image: image-set(url("../images/hero-landscape-mobile-home.avif") type("image/avif"))) {
@media (max-width: 540px) {
	.osh-home .osh-hero { --osh-landscape: image-set(url("../images/hero-landscape-mobile-home.avif") type("image/avif"), url("../images/hero-landscape-mobile-home.webp") type("image/webp")); }
	.osh-app-lp-hero { --osh-landscape: image-set(url("../images/hero-landscape-mobile-app.avif") type("image/avif"), url("../images/hero-landscape-mobile-app.webp") type("image/webp")); }
}
}
html.osh-scene-loading :is(.osh-stage-section,.osh-evidence,.osh-site-footer,.osh-side-app-cta,.osh-lp-horizon,.osh-lp-price,.osh-post-card-placeholder,.osh-ranking-placeholder,.osh-ranking-list img):not(.osh-scene-ready) {
	--osh-landscape: none;
}



/* 1.6.8: keep the mobile LCP device at its final position from first paint.
   Watch/earbud entrances and desktop depth/scroll effects are unchanged. */
@media (max-width: 860px) {
 .osh-motion-ready .osh-hero .osh-hero-product[data-osh-intro],
 .osh-motion-ready .osh-hero.osh-app-lp-hero [data-osh-device-motion="iphone"][data-osh-intro] {
  opacity: 1;
  transform: none;
  transition: none;
  will-change: auto;
 }
}


/* 1.6.9: shadow only the hardware bitmap, not its independently loaded UI. */
.osh-editorial .osh-device-iphone,
.osh-editorial .osh-device-watch,
.osh-app-lp .osh-device-iphone,
.osh-app-lp .osh-device-watch { filter: none; }
.osh-editorial .osh-device-iphone-shell,
.osh-app-lp .osh-device-iphone-shell { filter: drop-shadow(0 25px 30px rgba(0,25,82,.32)); }
.osh-editorial .osh-device-watch-shell,
.osh-app-lp .osh-device-watch-shell { filter: drop-shadow(0 22px 25px rgba(0,24,72,.32)); }
/* The compact layout has no spare horizontal gutter for sideways entrances. */
@media (max-width: 860px) {
 .osh-motion-ready [data-osh-reveal="left"],
 .osh-motion-ready [data-osh-reveal="right"] { transform: translateY(18px); }
 .osh-motion-ready [data-osh-reveal].is-osh-visible { transform: none; }
}


/* Mobile: retain depth without filtering the full device image on every paint. */
@media (max-width: 860px) {
 .osh-editorial .osh-hero .osh-device-iphone-shell,
 .osh-editorial .osh-hero .osh-device-watch-shell,
 .osh-app-lp .osh-hero .osh-device-iphone-shell,
 .osh-app-lp .osh-hero .osh-device-watch-shell { filter: none; }
 .osh-hero .osh-device-iphone::before,
 .osh-hero .osh-device-watch::before {
  content: "";
  position: absolute;
  pointer-events: none;
  z-index: 0;
 }
 .osh-hero .osh-device-iphone::before {
  inset: 1.5% 3%;
  border-radius: 12% / 6%;
  box-shadow: 0 25px 60px rgba(0,25,82,.32);
 }
 .osh-hero .osh-device-watch::before {
  inset: 25% 8% 25% 9%;
  border-radius: 27% / 21%;
  box-shadow: 0 22px 50px rgba(0,24,72,.32);
 }
}

/* Isolated hardware must not inherit the old single-image hero vignette. */
.osh-hero .osh-device-showcase .osh-device-iphone,
.osh-hero .osh-device-showcase .osh-device-watch,
.osh-hero .osh-device-showcase img {
 filter:none!important;
 box-shadow:none!important;
}
.osh-hero .osh-device-showcase img {
 mask-image:none!important;
 -webkit-mask-image:none!important;
 border-radius:0;
}
.osh-hero .osh-device-iphone::before,
.osh-hero .osh-device-watch::before { content:none!important; box-shadow:none!important; }
