/* v1.5.115 final overrides — Hero development note and distinct Scene 04 flow cards. */
.omc-hero__development-note{
	max-width:34rem;
	margin:7px 0 0;
	color:rgba(255,255,255,.88);
	font-size:clamp(.68rem,2.9vw,.78rem);
	font-weight:700;
	line-height:1.55;
	text-shadow:0 2px 8px rgba(0,0,0,.58);
}

@media(max-width:767px){
	.omc-magic__choice,
	.omc-magic[data-magic-phase="3"] .omc-magic__choice{
		width:min(46vw,11.5rem);
		padding:0;
		border:0;
		border-radius:0;
		background:transparent;
		box-shadow:none;
		color:currentColor;
		backdrop-filter:none;
		-webkit-backdrop-filter:none;
	}
	.omc-magic__choice-flow,
	.omc-magic[data-magic-phase="3"] .omc-magic__choice-flow{
		display:grid;
		width:100%;
		gap:15px;
		margin:0;
		padding:0;
		border:0;
		background:transparent;
		box-shadow:none;
		font-size:clamp(.68rem,2.85vw,.8rem);
		line-height:1.35;
	}
	.omc-magic__choice-flow span{
		position:relative;
		display:grid;
		min-height:46px;
		padding:8px 9px;
		place-items:center;
		border:1.5px solid #101317;
		border-radius:10px;
		background:rgba(255,255,255,.94);
		box-shadow:3px 4px 0 rgba(16,19,23,.9);
		color:#101317;
		text-align:center;
		white-space:normal;
	}
	.omc-magic__choice-flow i{display:none;}
	.omc-magic__choice-flow span::before{
		position:absolute;
		top:-16px;
		left:50%;
		content:"↓";
		opacity:.72;
		transform:translateX(-50%);
	}
	.omc-magic__choice-flow span:first-child::before{content:"";}
	.omc-magic[data-magic-phase="3"] .omc-magic__choice-flow span{
		border-color:rgba(255,255,255,.92);
		background:rgba(22,10,52,.94);
		box-shadow:3px 4px 0 rgba(255,255,255,.72);
		color:#fff;
	}
}

@media(min-width:768px){
	.omc-magic__choice{padding:0;background:transparent;box-shadow:none;}
	.omc-magic__choice-flow,
	.omc-magic[data-magic-phase="3"] .omc-magic__choice-flow{
		display:grid;
		width:min(100%,25rem);
		gap:16px;
		padding:0;
		border:0;
		background:transparent;
		box-shadow:none;
	}
	.omc-magic__choice-flow i{display:none;}
	.omc-magic__choice-flow span{
		position:relative;
		display:grid;
		min-height:54px;
		padding:10px 14px;
		place-items:center;
		border:2px solid currentColor;
		border-radius:12px;
		background:rgba(255,255,255,.88);
		box-shadow:4px 5px 0 currentColor;
		color:#101317;
		text-align:center;
		white-space:normal;
	}
	.omc-magic__choice-flow span::before{position:absolute;top:-18px;left:50%;content:"↓";transform:translateX(-50%);}
	.omc-magic__choice-flow span:first-child::before{content:"";}
	.omc-magic[data-magic-phase="3"] .omc-magic__choice-flow span{
		border-color:#fff;
		background:rgba(22,10,52,.9);
		box-shadow:4px 5px 0 rgba(255,255,255,.72);
		color:#fff;
	}
}

/* v1.5.117 — Give the final mobile phase enough room to finish before Scene 05. */
@media(max-width:767px){
	.omc-magic{height:380svh;}
	.omc-magic[data-magic-phase="3"] .omc-magic__content>.omc-index{display:none;}
	.omc-magic[data-magic-phase="3"] .omc-magic__content>h2{
		display:block;
		width:100%;
		max-width:none;
		margin:0 0 12px;
		font-size:clamp(1.28rem,5.35vw,1.58rem);
		line-height:1.15;
		letter-spacing:-.045em;
		white-space:nowrap;
	}
	.omc-magic[data-magic-phase="3"] .omc-magic__content>h2 br{display:none;}
	.omc-magic[data-magic-phase="3"] .omc-magic__choice{margin-top:0;}
	.omc-magic[data-magic-phase="3"] .omc-magic__steps{margin-top:24px;}
}

/* v1.5.118 — Keep the Scene 05 caret at the end of the typed text and at text height. */
.omc-recap__loop-copy [data-loop-typing]{
	display:inline;
	min-height:0;
	padding-right:0;
	border-right:0;
	animation:none;
}
.omc-recap__loop-copy [data-loop-typing]::after{
	display:inline-block;
	width:.08em;
	height:1em;
	margin-left:.08em;
	background:currentColor;
	content:"";
	vertical-align:-.08em;
	animation:omcRecapCaretV118 .8s steps(1,end) infinite;
}
@keyframes omcRecapCaretV118{0%,48%{opacity:1}49%,100%{opacity:0}}
@media(prefers-reduced-motion:reduce){.omc-recap__loop-copy [data-loop-typing]::after{animation:none;opacity:1}}

/* v1.5.119 — Keep the full authored Scene 04 heading in the final phase. */
@media(max-width:767px){
	.omc-magic[data-magic-phase="3"] .omc-magic__content>.omc-index{display:block;}
	.omc-magic[data-magic-phase="3"] .omc-magic__content>h2{
		display:block;
		width:auto;
		max-width:8ch;
		margin:0;
		font-size:clamp(3.2rem,14vw,6.6rem);
		line-height:.96;
		letter-spacing:-.05em;
		white-space:normal;
	}
	.omc-magic[data-magic-phase="3"] .omc-magic__content>h2 br{display:block;}
	.omc-magic[data-magic-phase="3"] .omc-magic__choice{margin-top:10px;}
	.omc-magic[data-magic-phase="3"] .omc-magic__choice-flow{gap:9px;}
	.omc-magic[data-magic-phase="3"] .omc-magic__choice-flow span{min-height:38px;padding:5px 8px;}
	.omc-magic[data-magic-phase="3"] .omc-magic__choice-flow span::before{top:-11px;}
	.omc-magic[data-magic-phase="3"] .omc-magic__steps{margin-top:14px;}
}

/* v1.5.120 — Align the final Scene 04 frame and normalize the Scene 09 caret. */
@media(max-width:767px){
	.omc-magic__content{transition:transform .22s ease;}
}
.omc-roadmap__declaration.omc-loop-typing [data-loop-typing]{
	display:inline;
	width:auto;
	min-height:0;
	padding-right:0;
	border-right:0;
	white-space:pre-line;
	animation:none;
}
.omc-roadmap__declaration.omc-loop-typing [data-loop-typing]::after,
.omc-scene--roadmap.is-roadmap-copy-active .omc-roadmap__declaration-line::after{
	position:static;
	display:inline-block;
	width:.08em;
	height:1em;
	margin-left:.08em;
	border-radius:0;
	background:currentColor;
	box-shadow:none;
	content:"";
	opacity:1;
	vertical-align:-.08em;
	animation:omcRoadmapCaretV120 .8s steps(1,end) infinite!important;
}
@keyframes omcRoadmapCaretV120{0%,48%{opacity:1}49%,100%{opacity:0}}
@media(prefers-reduced-motion:reduce){
	.omc-magic__content{transition:none;}
	.omc-roadmap__declaration.omc-loop-typing [data-loop-typing]::after{animation:none!important;opacity:1;}
}

/* v1.5.121 — Keep the Scene 04 heading at one stable vertical position in every phase. */
@media(max-width:767px){
	.omc-magic__content,
	.omc-magic[data-magic-phase="3"] .omc-magic__content{
		transform:none;
	}
}

/* v1.5.122 — The fixed-height experiment altered the sticky grid's centering calculation.
   Remove it and align the final frame to the preceding frames using the measured mobile delta. */
@media(max-width:767px){
	.omc-magic__choice,
	.omc-magic[data-magic-phase="3"] .omc-magic__choice{
		height:auto;
		min-height:0;
	}
	.omc-magic[data-magic-phase="3"] .omc-magic__content{
		transform:translateY(clamp(34px,4.4svh,42px));
	}
}

/* v1.5.123 — Anchor Scene 04 below the site header instead of vertically centering it.
   Mobile Safari changes the visual viewport height when its browser chrome expands or
   collapses; a centered sticky child therefore moved between phases. A fixed top anchor
   keeps the index and heading stable in every phase and browser-chrome state. */
@media(max-width:767px){
	.omc-magic__sticky{
		display:block;
	}
	.omc-magic__content,
	.omc-magic[data-magic-phase="3"] .omc-magic__content{
		margin:0 auto;
		padding-top:82px;
		transform:none;
	}
	.admin-bar .omc-magic__content,
	.admin-bar .omc-magic[data-magic-phase="3"] .omc-magic__content{
		padding-top:128px;
	}
}

/* v1.5.124 — Desktop-only supporting-copy scale.
   Large headings were already appropriately expressive, while body copy, captions,
   flow cards and notes read too small at desktop viewing distance. Mobile is unchanged. */
@media(min-width:768px){
	.omc-scene--hero .omc-lead{font-size:clamp(1.18rem,1.35vw,1.38rem);line-height:1.7;}
	.omc-hero__support{font-size:1rem;line-height:1.55;}
	.omc-hero__development-note{font-size:.9rem;line-height:1.6;}

	.omc-scene--many .omc-many__lead,
	.omc-scene--lost .omc-lost__lead{font-size:clamp(1.2rem,1.35vw,1.38rem);line-height:1.65;}
	.omc-scene--lost .omc-conversation p{font-size:clamp(1.14rem,1.2vw,1.28rem);}

	.omc-magic__choice{width:min(46%,32rem);}
	.omc-magic__choice-flow,
	.omc-magic[data-magic-phase="3"] .omc-magic__choice-flow{
		width:min(100%,32rem);
		font-size:clamp(1.12rem,1.35vw,1.28rem);
		font-weight:900;
	}
	.omc-magic__choice-flow span{min-height:70px;padding:14px 18px;}
	.omc-magic__steps p{font-size:clamp(1.05rem,1.15vw,1.2rem);line-height:1.65;}
	.omc-magic__steps .omc-magic__merge-copy{font-size:clamp(1.42rem,1.55vw,1.62rem)!important;}

	.omc-recap-flow{font-size:.9rem;}
	.omc-recap__loop-copy{font-size:clamp(1.22rem,1.4vw,1.48rem);line-height:1.7;}

	.omc-benefit-flow span{font-size:clamp(1.12rem,1.25vw,1.3rem);}
	.omc-memory-award__copy>p:last-child{font-size:clamp(1.12rem,1.25vw,1.3rem);line-height:1.75;}
	.omc-memory-award__single-line{font-size:clamp(1.06rem,1.15vw,1.2rem)!important;}
	.omc-memory-award__flow span{font-size:.92rem;}

	.omc-scene--safety li{min-height:64px;font-size:clamp(1.02rem,1.12vw,1.18rem);line-height:1.5;}
	.omc-roadmap li{font-size:1.04rem;line-height:1.55;}
	.omc-roadmap span{font-size:.86rem;}
	.omc-roadmap-future__question,
	.omc-roadmap-future__invitation{font-size:clamp(1.12rem,1.25vw,1.3rem);line-height:1.65;}
	.omc-roadmap-future__note{font-size:.98rem;line-height:1.65;}

	.omc-supporter-avatar__lead,
	.omc-supporter-avatar__benefits{font-size:clamp(1.05rem,1.18vw,1.22rem);line-height:1.7;}
	.omc-supporter-avatar__note{font-size:.94rem;}
	.omc-campfire__appeal,
	.omc-campfire__request{font-size:clamp(1.08rem,1.2vw,1.26rem);line-height:1.7;}
	.omc-scene--campfire .omc-support{font-size:1rem;}

	.omc-scene--faq summary{font-size:clamp(1.25rem,1.45vw,1.5rem);}
	.omc-scene--faq details p{font-size:clamp(1.02rem,1.12vw,1.18rem);line-height:1.75;}
	.omc-final .omc-wordmark{font-size:1.22rem;}
	.omc-final .omc-support{font-size:1.04rem;line-height:1.65;}
}

/* v1.5.127 — Distinguish the active Beta roadmap card from completed/planned cards. */
.omc-scene--roadmap .omc-roadmap li[data-status="in_progress"]{
	border-color:#4d2ab8;
	background:linear-gradient(145deg,#efffc1 0%,#fff2a8 100%);
	box-shadow:5px 5px 0 #4d2ab8,0 12px 26px rgba(77,42,184,.18);
}

/* v1.5.128 — Give the Scene 04 three-step cards a subtle rising rhythm. */
@media(min-width:768px){
	.omc-magic__choice-flow span{
		transform-origin:50% 50%;
	}
	.omc-magic__choice-flow span:nth-of-type(1){
		transform:translateX(-3px) rotate(-1deg);
	}
	.omc-magic__choice-flow span:nth-of-type(2){
		transform:translateX(4px) rotate(-1.35deg);
	}
	.omc-magic__choice-flow span:nth-of-type(3){
		transform:translateX(10px) rotate(-.8deg);
	}
}
@media(max-width:767px){
	.omc-magic__choice-flow span:nth-of-type(1){transform:rotate(-.35deg);}
	.omc-magic__choice-flow span:nth-of-type(2){transform:translateX(2px) rotate(-.55deg);}
	.omc-magic__choice-flow span:nth-of-type(3){transform:translateX(4px) rotate(-.3deg);}
}
@media(prefers-reduced-motion:reduce){
	.omc-magic__choice-flow span{transform:none!important;}
}

/* v1.5.129 — Keep the Scene 04 step-02 supporting copy inside short desktop viewports. */
@media(min-width:768px) and (max-height:760px){
	.omc-magic__content h2{
		font-size:clamp(3rem,5vw,4.15rem);
		line-height:.89;
	}
	.omc-magic__choice{
		margin-top:10px;
	}
	.omc-magic__choice-flow,
	.omc-magic[data-magic-phase="3"] .omc-magic__choice-flow{
		gap:8px;
	}
	.omc-magic__choice-flow span{
		min-height:54px;
		padding-block:8px;
	}
	.omc-magic__steps{
		margin-top:10px;
	}
}

/* v1.5.131 — Structural desktop fix for Scene 04.
   Anchor the composition below the fixed header and reserve real layout height for
   the absolutely positioned 01–03 copy instead of relying on a viewport threshold. */
@media(min-width:768px){
	.omc-scene.omc-magic{
		padding:0;
	}
	.omc-magic__sticky{
		display:block;
	}
	.omc-magic__content{
		margin:0 auto;
		padding-top:clamp(76px,10svh,120px);
	}
	.omc-magic__content h2{
		font-size:clamp(3rem,min(5.6vw,8.5svh),4.75rem);
		line-height:.9;
	}
	.omc-magic__choice{
		margin-top:clamp(8px,1.5svh,18px);
	}
	.omc-magic__choice-flow,
	.omc-magic[data-magic-phase="3"] .omc-magic__choice-flow{
		gap:clamp(8px,1.4svh,16px);
	}
	.omc-magic__choice-flow span{
		min-height:clamp(52px,7.5svh,70px);
		padding-block:clamp(8px,1.4svh,14px);
	}
	.omc-magic__steps{
		position:relative;
		min-height:clamp(145px,20svh,190px);
		margin-top:clamp(8px,1.5svh,18px);
	}
	.omc-magic__steps h3{
		font-size:clamp(2.8rem,min(5.6vw,8svh),4.75rem);
	}
}
.omc-footer__new-tab-mark {
  display: inline-block;
  margin-left: .18em;
  font-size: .82em;
  line-height: 1;
  transform: translateY(-.08em);
}
