.cn-prelaunch {
	--cn-navy:#14294a;
	--cn-amber:#b98032;
	--cn-cream:#f6f2e9;
	--cn-rule:#d6d2c9;
	box-sizing:border-box;
	color:var(--cn-navy);
	font-family:"DM Sans",Arial,sans-serif;
	font-size:16px;
	line-height:1.7;
	text-align:left
}
.cn-prelaunch *,.cn-prelaunch *::before,.cn-prelaunch *::after {
	box-sizing:border-box
}
.cn-prelaunch h1,.cn-prelaunch h2,.cn-prelaunch h3 {
	color:inherit;
	font-family:"Libre Baskerville",Baskerville,"Baskerville Old Face",Georgia,serif;
	font-weight:400;
	letter-spacing:-.045em;
	line-height:1.12;
	margin:0 0 26px
}
.cn-prelaunch h1 {
	font-size:clamp(44px,5.5vw,82px)
}
.cn-prelaunch h2 {
	font-size:clamp(34px,4vw,54px)
}
.cn-prelaunch h3 {
	font-size:28px
}
.cn-prelaunch p {
	margin:0 0 22px
}
.cn-prelaunch a {
	color:inherit;
	text-decoration:underline;
	text-underline-offset:3px
}
.cn-prelaunch .cn-eyebrow {
	font-size:11px;
	font-weight:600;
	letter-spacing:.18em;
	line-height:1.6;
	margin-bottom:30px
}
:where(.cn-prelaunch).cn-landing {
	max-width:1440px;
	margin-inline:auto;
	background:var(--cn-cream)
}
.cn-prelaunch .cn-hero {
	display:grid;
	grid-template-columns:1.15fr 1fr;
	min-height:760px
}
.cn-prelaunch .cn-hero-copy {
	padding:clamp(30px,5vw,80px)
}
.cn-prelaunch .cn-lead {
	font-size:20px;
	line-height:1.6
}
.cn-prelaunch .cn-hero-image {
	margin:0;
	position:relative;
	min-height:100%;
	background:var(--cn-navy)
}
.cn-prelaunch .cn-hero-image>img {
	display:block;
	width:100%;
	height:100%;
	position:absolute;
	inset:0;
	object-fit:cover
}
.cn-prelaunch .cn-hero-image figcaption {
	position:absolute;
	bottom:0;
	left:0;
	right:0;
	padding:20px;
	background:var(--cn-navy);
	color:var(--cn-cream);
	font-size:10px;
	letter-spacing:.18em
}
.cn-prelaunch .cn-type-panel {
	background:var(--cn-navy);
	color:var(--cn-cream);
	display:flex;
	flex-direction:column;
	justify-content:space-between;
	padding:55px 35px;
	border-top:8px solid var(--cn-amber)
}
.cn-prelaunch .cn-type-panel>p {
	font-family:Baskerville,Georgia,serif;
	font-size:clamp(48px,6vw,90px);
	line-height:1.05;
	letter-spacing:-.04em
}
.cn-prelaunch .cn-type-panel em {
	color:#e4b571;
	font-weight:400
}
.cn-prelaunch .cn-panel-top,.cn-prelaunch .cn-panel-bottom {
	font-size:11px;
	letter-spacing:.16em;
	line-height:2
}
.cn-prelaunch .cn-form {
	position:relative;
	margin:30px 0 0;
	padding:0;
	border:0;
	max-width:680px
}
.cn-prelaunch .cn-label {
	display:block;
	font-size:13px;
	font-weight:600;
	margin-bottom:8px
}
.cn-prelaunch .cn-input-row {
	display:flex;
	gap:0;
	flex-wrap:wrap
}
.cn-prelaunch input[type=email] {
	font:inherit;
	font-size:16px;
	color:var(--cn-navy);
	background:#fffdf8;
	border:1px solid #788396;
	border-radius:0;
	min-width:120px;
	flex:1;
	width:100%;
	padding:14px 16px;
	min-height:54px;
	margin:0;
	box-shadow:none
}
.cn-prelaunch button {
	font:inherit;
	font-weight:600;
	font-size:13px;
	letter-spacing:.01em;
	background:var(--cn-navy);
	color:#fffdf8;
	border:1px solid var(--cn-navy);
	border-radius:0;
	cursor:pointer;
	min-height:54px;
	padding:14px 20px;
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:20px;
	margin:0
}
.cn-prelaunch button:hover {
	background:#24446b
}
.cn-prelaunch a:focus-visible,.cn-prelaunch button:focus-visible,.cn-prelaunch input:focus-visible {
	outline:3px solid var(--cn-amber);
	outline-offset:4px
}
.cn-prelaunch .cn-consent {
	padding:0;
	margin:18px 0;
	border:0;
	min-width:0
}
.cn-prelaunch .cn-consent legend {
	font-size:12px;
	font-weight:600;
	margin-bottom:8px;
	padding:0
}
.cn-prelaunch .cn-consent label {
	display:flex;
	align-items:flex-start;
	gap:11px;
	font-size:12px;
	line-height:1.65;
	cursor:pointer
}
.cn-prelaunch input[type=checkbox] {
	appearance:auto;
	accent-color:var(--cn-navy);
	width:18px;
	height:18px;
	min-width:18px;
	margin:3px 0 0;
	padding:0
}
.cn-prelaunch .cn-small {
	font-size:12px;
	line-height:1.65;
	margin-bottom:12px
}
.cn-prelaunch .cn-legal {
	font-size:11px;
	line-height:1.65;
	margin-bottom:12px
}
.cn-prelaunch .cn-trap {
	position:absolute;
	left:-5000px;
	width:1px;
	height:1px;
	overflow:hidden
}
.cn-prelaunch .cn-badge {
	display:inline-block
}
.cn-prelaunch .cn-badge img {
	display:block;
	width:165px;
	height:30px;
	max-width:100%
}
.cn-prelaunch .cn-founders {
	padding:clamp(35px,7vw,100px);
	display:grid;
	grid-template-columns:1fr 1.4fr;
	gap:50px;
	border-bottom:1px solid var(--cn-rule)
}
.cn-prelaunch .cn-founders>div {
	max-width:640px
}
.cn-prelaunch .cn-signature {
	font-family:Baskerville,Georgia,serif;
	font-style:italic;
	font-size:24px;
	margin-top:32px
}
:where(.cn-prelaunch).cn-journal {
	padding:clamp(35px,7vw,100px);
	background:#fffdf8
}
.cn-prelaunch .cn-section-intro {
	max-width:620px
}
.cn-prelaunch .cn-timeline {
	list-style:none;
	margin:45px 0 0;
	padding:0;
	border-left:1px solid var(--cn-rule)
}
.cn-prelaunch .cn-timeline>li {
	position:relative;
	padding:0 0 50px 35px;
	max-width:850px
}
.cn-prelaunch .cn-timeline>li:last-child {
	padding-bottom:0
}
.cn-prelaunch .cn-timeline>li::before {
	content:"";
	position:absolute;
	left:-5px;
	top:8px;
	width:9px;
	height:9px;
	border-radius:50%;
	background:var(--cn-amber)
}
.cn-prelaunch .cn-entry-meta {
	display:flex;
	gap:20px;
	flex-wrap:wrap;
	font-size:11px;
	letter-spacing:.08em;
	margin-bottom:14px
}
.cn-prelaunch .cn-progress {
	font-size:13px;
	font-weight:600
}
.cn-prelaunch .cn-update-image {
	width:100%;
	height:auto;
	display:block;
	margin:20px 0
}
.cn-prelaunch .cn-entry-body {
	overflow-wrap:anywhere
}
.cn-prelaunch .cn-entry-body img {
	max-width:100%;
	height:auto
}
.cn-prelaunch .cn-empty {
	padding:30px 0;
	border-top:1px solid var(--cn-rule);
	margin-top:35px!important;
	max-width:720px
}
:where(.cn-prelaunch).cn-compact {
	background:var(--cn-cream);
	padding:clamp(28px,5vw,75px);
	display:grid;
	grid-template-columns:1fr 1fr;
	gap:60px
}
:where(.cn-prelaunch).cn-compact .cn-form {
	margin-top:0
}
.cn-prelaunch .cn-compact-copy {
	max-width:500px
}
@media(min-width:901px) {
	.cn-prelaunch .cn-input-row input[type=email] {
	flex-basis:190px
}
.cn-prelaunch .cn-input-row button {
	flex-grow:1
}

}
@media(max-width:900px) {
	.cn-prelaunch .cn-hero {
	grid-template-columns:1fr
}
.cn-prelaunch .cn-hero-copy {
	padding:40px 26px
}
.cn-prelaunch .cn-type-panel {
	min-height:380px;
	padding:35px 26px
}
.cn-prelaunch .cn-hero-image {
	min-height:450px
}
.cn-prelaunch .cn-founders {
	grid-template-columns:1fr;
	gap:10px
}
:where(.cn-prelaunch).cn-compact {
	grid-template-columns:1fr;
	gap:25px
}
:where(.cn-prelaunch).cn-compact .cn-form {
	max-width:none
}

}
@media(max-width:480px) {
	.cn-prelaunch .cn-input-row {
	gap:10px
}
.cn-prelaunch .cn-input-row input[type=email],.cn-prelaunch .cn-input-row button {
	flex-basis:100%;
	width:100%
}
.cn-prelaunch .cn-hero-image {
	min-height:320px
}
.cn-prelaunch .cn-timeline>li {
	padding-left:23px
}
.cn-prelaunch {
	font-size:15px
}

}



/* Optional dark storefront variation; default shortcode presentation is unchanged. */
.cn-prelaunch.cn-storefront { color:#f4f1ea; background:transparent; display:block; padding:0; }
.cn-prelaunch.cn-storefront .cn-compact-copy { max-width:none; }
.cn-prelaunch.cn-storefront .cn-eyebrow { color:#e4ad49; margin-bottom:12px; }
.cn-prelaunch.cn-storefront h2 { font-size:clamp(28px,3vw,42px); margin-bottom:16px; }
.cn-prelaunch.cn-storefront .cn-compact-copy>p:last-child { font-size:15px; margin-bottom:22px; }
.cn-prelaunch.cn-storefront .cn-form { max-width:none; margin-top:0; }
.cn-prelaunch.cn-storefront input[type=email] { min-width:0; background:#102b42; border-color:#8394a2; color:#fff; }
.cn-prelaunch.cn-storefront input[type=email]::placeholder { color:#c4ced7; opacity:1; }
.cn-prelaunch.cn-storefront button { background:#c9943a; color:#07192d; border-color:#c9943a; }
.cn-prelaunch.cn-storefront button:hover { background:#e0ac52; }
.cn-prelaunch.cn-storefront .cn-input-row { flex-wrap:nowrap; }
.cn-prelaunch.cn-storefront .cn-input-row input[type=email] { flex:1 1 160px; width:0; }
.cn-prelaunch.cn-storefront .cn-input-row button { flex:0 0 auto; }
.cn-prelaunch.cn-storefront .cn-consent { margin-top:16px; }
.cn-prelaunch.cn-storefront .cn-small,.cn-prelaunch.cn-storefront .cn-legal { color:#d0dbe3; }
.cn-prelaunch.cn-storefront .cn-badge { background:#f6f2e9; padding:2px 6px; }
@media(max-width:600px) {
 .cn-prelaunch.cn-storefront .cn-input-row { flex-wrap:wrap; gap:10px; }
 .cn-prelaunch.cn-storefront .cn-input-row input[type=email],.cn-prelaunch.cn-storefront .cn-input-row button { flex:1 1 100%; width:100%; }
}

/* Primary signup only: compact centred continuation of the product presentation. */
.cn-prelaunch.cn-storefront.cn-journey-panel { width:min(100%,560px); margin:0 auto; padding:0; background:transparent; border:0; border-radius:0; box-shadow:none; text-align:center; --cn-panel-amber:#c9943a; }
.cn-prelaunch.cn-storefront.cn-journey-panel h2 { color:#f4f1ea; font-size:clamp(26px,2vw,28px); line-height:1.15; letter-spacing:-.025em; margin:0 0 14px; }
.cn-prelaunch.cn-storefront.cn-journey-panel .cn-compact-copy>p { color:#dbe1e6; font-size:15px; line-height:1.6; margin:0 0 12px; }
.cn-prelaunch.cn-storefront.cn-journey-panel .cn-compact-copy>p:last-child { margin-bottom:20px; }
.cn-prelaunch.cn-storefront.cn-journey-panel .cn-form { text-align:left; }
.cn-prelaunch.cn-storefront.cn-journey-panel .cn-label { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
.cn-prelaunch.cn-storefront.cn-journey-panel .cn-input-row { display:flex; gap:0; flex-wrap:nowrap; }
.cn-prelaunch.cn-storefront.cn-journey-panel .cn-input-row input[type=email] { flex:1 1 0; width:0; min-width:0; height:50px; min-height:50px; border:1px solid #617789; border-radius:3px 0 0 3px; background:#102b42; padding:12px 14px; }
.cn-prelaunch.cn-storefront.cn-journey-panel .cn-input-row button { flex:0 0 auto; height:50px; min-height:50px; padding:12px 18px; border-radius:0 3px 3px 0; background:var(--cn-panel-amber); color:#07192d; font-size:13px; gap:12px; transition:background-color 180ms ease; }
.cn-prelaunch.cn-storefront.cn-journey-panel .cn-input-row button:hover { background:#d7a44d; }
.cn-prelaunch.cn-storefront.cn-journey-panel :is(a,button,input):focus-visible { outline:3px solid var(--cn-panel-amber); outline-offset:3px; }
.cn-prelaunch.cn-storefront.cn-journey-panel .cn-consent { margin:14px 0 9px; }
.cn-prelaunch.cn-storefront.cn-journey-panel .cn-consent legend { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
.cn-prelaunch.cn-storefront.cn-journey-panel .cn-consent label { font-size:12px; line-height:1.6; gap:10px; color:#e1e6eb; }
.cn-prelaunch.cn-storefront.cn-journey-panel .cn-consent input { accent-color:var(--cn-panel-amber); }
.cn-prelaunch.cn-storefront.cn-journey-panel input:user-invalid { border-color:#f0b1a0; outline:2px solid #f0b1a0; outline-offset:2px; }
.cn-prelaunch.cn-storefront.cn-journey-panel .cn-small { font-size:12px; line-height:1.6; margin:0 0 8px; color:#c7d2dc; }
.cn-prelaunch.cn-storefront.cn-journey-panel .cn-panel-help { font-size:11px; }
.cn-prelaunch.cn-storefront.cn-journey-panel .cn-legal { font-size:11px; line-height:1.6; color:#becbd6; margin:0 0 10px; }
.cn-prelaunch.cn-storefront.cn-journey-panel .cn-badge { display:inline-block; padding:2px 5px; border-radius:2px; }
@media(max-width:600px) {
 .cn-prelaunch.cn-storefront.cn-journey-panel h2 { font-size:clamp(22px,5vw,24px); }
 .cn-prelaunch.cn-storefront.cn-journey-panel .cn-compact-copy>p { font-size:14px; }
 .cn-prelaunch.cn-storefront.cn-journey-panel .cn-input-row { flex-wrap:wrap; gap:10px; }
 .cn-prelaunch.cn-storefront.cn-journey-panel .cn-input-row input[type=email],.cn-prelaunch.cn-storefront.cn-journey-panel .cn-input-row button { flex:1 1 100%; width:100%; border-radius:3px; }
}
@media(prefers-reduced-motion:reduce) { .cn-prelaunch.cn-storefront.cn-journey-panel .cn-input-row button { transition:none; } }

/* Primary signup disclosure and compact attribution: shield from theme link decoration. */
.cn-prelaunch.cn-storefront.cn-journey-panel .cn-legal .cn-processing-link {
 display:block; position:static; width:auto; height:auto; margin:5px 0 0; padding:0;
 font:inherit; font-size:11px; line-height:1.6; color:#dbe1e6; opacity:1; visibility:visible;
 text-indent:0; letter-spacing:normal; text-transform:none; white-space:normal;
 overflow:visible; clip-path:none; background:none; border:0; box-shadow:none;
 text-decoration:underline; text-underline-offset:3px;
}
.cn-prelaunch.cn-storefront.cn-journey-panel .cn-badge {
 display:inline-flex; align-items:center; justify-content:center; width:max-content;
 max-width:100%; height:auto; margin:0; padding:3px 6px; border:0; border-radius:2px;
 background:#f6f2e9; box-shadow:none; text-decoration:none; line-height:1;
}
.cn-prelaunch.cn-storefront.cn-journey-panel .cn-badge img {
 display:block; width:132px; max-width:100%; height:24px; margin:0; padding:0;
 object-fit:contain; border:0; border-radius:0; box-shadow:none;
}
.cn-prelaunch.cn-storefront.cn-journey-panel .cn-processing-link::before,
.cn-prelaunch.cn-storefront.cn-journey-panel .cn-processing-link::after,
.cn-prelaunch.cn-storefront.cn-journey-panel .cn-badge::before,
.cn-prelaunch.cn-storefront.cn-journey-panel .cn-badge::after { content:none; display:none; }

/* Keep the new-tab notice available to assistive technology without a separate visible line. */
.cn-prelaunch.cn-storefront.cn-journey-panel .cn-visually-hidden {
 position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden;
 clip:rect(0,0,0,0); clip-path:inset(50%); white-space:nowrap; border:0;
}

/* Primary signup: readable privacy link and contained, stable focus/hover states. */
.cn-prelaunch.cn-storefront.cn-journey-panel .cn-panel-privacy .cn-privacy-policy-link {
 display:inline; position:static; width:auto; height:auto; margin:0; padding:0;
 font:inherit; font-size:12px; line-height:inherit; color:#dbe1e6; opacity:1;
 visibility:visible; text-indent:0; letter-spacing:normal; text-transform:none;
 white-space:normal; overflow:visible; clip:auto; clip-path:none;
 background:none; border:0; box-shadow:none; text-decoration:underline;
 text-underline-offset:3px; transform:none; animation:none;
}
.cn-prelaunch.cn-storefront.cn-journey-panel .cn-privacy-policy-link::before,
.cn-prelaunch.cn-storefront.cn-journey-panel .cn-privacy-policy-link::after,
.cn-prelaunch.cn-storefront.cn-journey-panel .cn-input-row button::before,
.cn-prelaunch.cn-storefront.cn-journey-panel .cn-input-row button::after { content:none; display:none; }
.cn-prelaunch.cn-storefront.cn-journey-panel .cn-input-row input[type=email]:focus,
.cn-prelaunch.cn-storefront.cn-journey-panel .cn-input-row input[type=email]:focus-visible {
 outline:0; box-shadow:inset 0 0 0 2px #c9943a; border-color:#c9943a;
 position:relative; z-index:0;
}
.cn-prelaunch.cn-storefront.cn-journey-panel .cn-input-row button,
.cn-prelaunch.cn-storefront.cn-journey-panel .cn-input-row button:hover,
.cn-prelaunch.cn-storefront.cn-journey-panel .cn-input-row button:focus,
.cn-prelaunch.cn-storefront.cn-journey-panel .cn-input-row button:active {
 background:#c9943a; background-image:none; color:#07192d; border-color:#c9943a;
 opacity:1; filter:none; transform:none; animation:none; transition:none; box-shadow:none;
}
.cn-prelaunch.cn-storefront.cn-journey-panel .cn-input-row button:hover { background:#d7a44d; }
.cn-prelaunch.cn-storefront.cn-journey-panel .cn-input-row button:focus-visible {
 outline:0; box-shadow:inset 0 0 0 2px #07192d;
}
.cn-prelaunch.cn-storefront.cn-journey-panel .cn-input-row button span {
 transform:none; animation:none; transition:none;
}

/* No yellow click rings. Keyboard users retain a quiet blue-grey inset indicator. */
#cnv-saltire-signup:focus,
#cnv-saltire-signup:focus-visible,
#cnv-saltire-signup:focus-within { outline:none; box-shadow:none; }
.cn-prelaunch.cn-storefront.cn-journey-panel .cn-input-row input[type=email]:focus,
.cn-prelaunch.cn-storefront.cn-journey-panel .cn-input-row input[type=email]:focus-visible {
 outline:none; box-shadow:none; border-color:#617789;
}
.cn-prelaunch.cn-storefront.cn-journey-panel .cn-input-row input[type=email]:focus-visible { box-shadow:inset 0 0 0 2px #b8cad8; }
.cn-prelaunch.cn-storefront.cn-journey-panel input[type=checkbox]:focus:not(:focus-visible),
.cn-prelaunch.cn-storefront.cn-journey-panel button:focus:not(:focus-visible),
.cn-prelaunch.cn-storefront.cn-journey-panel a:focus:not(:focus-visible) { outline:none; box-shadow:none; }
.cn-prelaunch.cn-storefront.cn-journey-panel input[type=checkbox]:focus-visible,
.cn-prelaunch.cn-storefront.cn-journey-panel a:focus-visible { outline:2px solid #b8cad8; outline-offset:3px; }

/* Closing showcase only: one compact invitation and one direct email CTA. */
.cn-prelaunch.cn-storefront.cn-journey-panel.cn-closing-inline { max-width:560px; width:100%; margin:0; text-align:left; }
.cn-prelaunch.cn-storefront.cn-journey-panel.cn-closing-inline .cn-closing-invitation { color:#dbe1e6; font-size:14px; line-height:1.6; margin:0 0 16px; }
.cn-prelaunch.cn-storefront.cn-journey-panel.cn-closing-inline .cn-form { margin:0; }

.cn-prelaunch .cn-inline-feedback { font-size:14px; line-height:1.6; margin:12px 0 0; }
.cn-prelaunch .cn-inline-feedback:empty { display:none; }
.cn-prelaunch .cn-inline-thanks { padding:20px 0; text-align:inherit; }
.cn-prelaunch .cn-inline-thanks h3 { font-size:26px; margin:0 0 12px; }
.cn-prelaunch .cn-inline-thanks p { font-size:15px; margin:0; }
.cn-prelaunch .cn-inline-thanks:focus { outline:none; }
.cn-prelaunch .cn-form[aria-busy=true] button { cursor:wait; opacity:.75; }
