/* Staten Island Chimney & Masonry -- the lens-room sheet.
   Beacon gold over storm slate; sandbar cream underfoot. */

:root
	{
	--sn2-brick: #AB431F;
	--sn2-brick-dark: #7B2E12;
	--sn2-ember: #E0B045;
	--sn2-ember-glow: #F0CE6E;
	--sn2-coast: #46586B;
	--sn2-charcoal: #181A20;
	--sn2-charcoal-2: #23252C;
	--sn2-charcoal-3: #2F323B;
	--sn2-cream: #F5F2E9;
	--sn2-cream-2: #EAE6D9;
	--sn2-ink: #191B21;
	--sn2-muted: #6B6A62;
	--sn2-line: rgba(24,26,32,.12);
	--sn2-gold: #CE9F38;
	--sn2-green-ok: #2E8159;
	--sn2-radius: 16px;
	--sn2-radius-lg: 26px;
	--sn2-shadow-sm: 0 4px 14px rgba(24,26,32,.08);
	--sn2-shadow: 0 14px 40px rgba(24,26,32,.14);
	--sn2-shadow-lg: 0 30px 70px rgba(24,26,32,.26);
	--sn2-wrap: 1200px;
	--sn2-font: 'Sora',system-ui,-apple-system,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;
	--sn2-display: 'Squada One','Arial Narrow',var(--sn2-font);
	--sn2-header-h: 76px;
	}

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

html
	{
	scroll-behavior: smooth;
	scroll-padding-top: 90px;
	-webkit-text-size-adjust: 100%;
	}

body
	{
	margin: 0;
	font-family: var(--sn2-font);
	color: var(--sn2-ink);
	background: var(--sn2-cream);
	font-size: 17px;
	line-height: 1.65;
	overflow-x: hidden;
	-webkit-font-smoothing: antialiased;
	}

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

a
	{
	color: var(--sn2-brick);
	text-decoration: none;
	}

a:hover
	{
	color: var(--sn2-brick-dark);
	}

button
	{
	font-family: inherit;
	}

h1,h2,h3,h4
	{
	font-family: var(--sn2-display);
	font-weight: 700;
	line-height: 1.08;
	margin: 0 0 .5em;
	letter-spacing: .4px;
	text-transform: uppercase;
	}

h1
	{
	font-size: clamp(2.15rem,5.4vw,4.15rem);
	}

h2
	{
	font-size: clamp(1.85rem,3.9vw,3rem);
	}

h3
	{
	font-size: clamp(1.15rem,1.7vw,1.45rem);
	}

p
	{
	margin: 0 0 1.1em;
	}

.stationspan2
	{
	width: min(var(--sn2-wrap),92%);
	margin-inline: auto;
	}

.midchannel2
	{
	text-align: center;
	}

.stillwater2
	{
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0,0,0,0);
	white-space: nowrap;
	border: 0;
	}

.leeway-link2
	{
	position: absolute;
	left: -9999px;
	top: 0;
	background: var(--sn2-brick);
	color: #fff;
	padding: 12px 20px;
	z-index: 9999;
	}

.leeway-link2:focus
	{
	left: 10px;
	top: 10px;
	}

:focus-visible
	{
	outline: 3px solid var(--sn2-ember);
	outline-offset: 3px;
	}

#bg-fx-sn
	{
	position: fixed;
	inset: 0;
	z-index: 0;
	pointer-events: none;
	overflow: hidden;
	}

#emberCanvas-sn
	{
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	opacity: .55;
	}

.glowbank2
	{
	position: absolute;
	border-radius: 50%;
	filter: blur(70px);
	opacity: .34;
	will-change: transform;
	}

.glowbank2-a
	{
	width: 520px;
	height: 520px;
	background: radial-gradient(circle at 30% 30%,var(--sn2-ember),transparent 68%);
	top: -140px;
	left: -120px;
	animation: float1 26s ease-in-out infinite;
	}

.glowbank2-b
	{
	width: 640px;
	height: 640px;
	background: radial-gradient(circle at 60% 40%,var(--sn2-brick),transparent 66%);
	top: 38%;
	right: -220px;
	animation: float2 32s ease-in-out infinite;
	}

.glowbank2-c
	{
	width: 420px;
	height: 420px;
	background: radial-gradient(circle at 50% 50%,var(--sn2-gold),transparent 65%);
	bottom: -120px;
	left: 22%;
	animation: float3 29s ease-in-out infinite;
	}

@keyframes float1
	{
	0%,100%
		{
		transform: translate3d(0,0,0) scale(1);
		}
	50%
		{
		transform: translate3d(90px,120px,0) scale(1.16);
		}
	}

@keyframes float2
	{
	0%,100%
		{
		transform: translate3d(0,0,0) scale(1.05);
		}
	50%
		{
		transform: translate3d(-120px,-90px,0) scale(.9);
		}
	}

@keyframes float3
	{
	0%,100%
		{
		transform: translate3d(0,0,0) scale(.95);
		}
	50%
		{
		transform: translate3d(70px,-110px,0) scale(1.2);
		}
	}

main,header,footer,.morseline2
	{
	position: relative;
	z-index: 1;
	}

.lampring2
	{
	--sn2-bg: var(--sn2-brick);
	--sn2-fg: #fff;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: .6rem;
	background: var(--sn2-bg);
	color: var(--sn2-fg);
	font-weight: 700;
	font-size: 1.02rem;
	padding: 16px 30px;
	border-radius: 60px;
	border: 0;
	cursor: pointer;
	letter-spacing: .3px;
	box-shadow: 0 10px 26px rgba(178,58,33,.32);
	transition: transform .22s cubic-bezier(.2,.8,.3,1),box-shadow .22s,background .22s;
	position: relative;
	overflow: hidden;
	text-align: center;
	}

.lampring2:hover
	{
	transform: translateY(-3px);
	box-shadow: 0 18px 40px rgba(178,58,33,.42);
	color: #fff;
	}

.lampring2:active
	{
	transform: translateY(-1px);
	}

.lampring2::after
	{
	content: "";
	position: absolute;
	top: 0;
	left: -60%;
	width: 40%;
	height: 100%;
	background: linear-gradient(100deg,transparent,rgba(255,255,255,.42),transparent);
	transform: skewX(-18deg);
	animation: sheen 4.5s ease-in-out infinite;
	}

@keyframes sheen
	{
	0%,72%
		{
		left: -60%;
		}
	88%,100%
		{
		left: 135%;
		}
	}

.lampring2-flare
	{
	--sn2-bg: linear-gradient(135deg,var(--sn2-ember),var(--sn2-brick));
	box-shadow: 0 10px 26px rgba(240,128,60,.4);
	}

.lampring2-fogged
	{
	--sn2-bg: transparent;
	--sn2-fg: #fff;
	border: 2px solid rgba(255,255,255,.6);
	box-shadow: none;
	}

.lampring2-fogged:hover
	{
	background: rgba(255,255,255,.12);
	box-shadow: none;
	}

.lampring2-nightside
	{
	--sn2-bg: var(--sn2-charcoal);
	box-shadow: 0 10px 26px rgba(24,26,32,.3);
	}

.lampring2-tall
	{
	padding: 19px 38px;
	font-size: 1.12rem;
	}

.lampring2-beamwide
	{
	display: flex;
	width: 100%;
	}

.morseline2
	{
	background: var(--sn2-charcoal);
	color: #D9D5C6;
	font-size: .86rem;
	letter-spacing: .3px;
	}

.morseline2 .stationspan2
	{
	display: flex;
	flex-wrap: wrap;
	gap: 8px 26px;
	align-items: center;
	justify-content: space-between;
	padding: 9px 0;
	}

.morseline2 b
	{
	color: #fff;
	}

.morseline2 .mo2-bead
	{
	display: inline-flex;
	align-items: center;
	gap: 7px;
	}

.beaconlive-dot
	{
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: #35C46F;
	box-shadow: 0 0 0 0 rgba(73,199,126,.7);
	animation: pulseDot 2s infinite;
	}

@keyframes pulseDot
	{
	70%
		{
		box-shadow: 0 0 0 9px rgba(73,199,126,0);
		}
	100%
		{
		box-shadow: 0 0 0 0 rgba(73,199,126,0);
		}
	}

.lanternroom2
	{
	position: sticky;
	top: 0;
	z-index: 900;
	background: rgba(246,240,231,.86);
	backdrop-filter: blur(14px);
	-webkit-backdrop-filter: blur(14px);
	border-bottom: 1px solid var(--sn2-line);
	transition: box-shadow .3s,background .3s;
	}

.lanternroom2.wickworn
	{
	box-shadow: 0 8px 30px rgba(24,26,32,.13);
	background: rgba(246,240,231,.96);
	}

.lanternroom2 .stationspan2
	{
	width: min(1360px,94%);
	}

.gallerywalk2
	{
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 18px;
	min-height: var(--sn2-header-h);
	}

.lightmark2
	{
	display: flex;
	align-items: center;
	gap: 12px;
	color: var(--sn2-ink);
	flex: 0 0 auto;
	}

.lightmark2:hover
	{
	color: var(--sn2-ink);
	}

.lightmark2-lens
	{
	width: 46px;
	height: 46px;
	flex: 0 0 auto;
	filter: drop-shadow(0 4px 8px rgba(178,58,33,.3));
	}

.lightmark2-note
	{
	display: flex;
	flex-direction: column;
	line-height: 1.05;
	}

.lightmark2-note strong
	{
	font-family: var(--sn2-display);
	font-size: 1.06rem;
	letter-spacing: .6px;
	text-transform: uppercase;
	}

.lightmark2-note span
	{
	font-size: .7rem;
	letter-spacing: 2.4px;
	text-transform: uppercase;
	color: var(--sn2-brick);
	font-weight: 600;
	}

.spiralstair2
	{
	display: flex;
	align-items: center;
	gap: 22px;
	list-style: none;
	margin: 0;
	padding: 0;
	}

.spiralstair2 a
	{
	color: var(--sn2-ink);
	font-weight: 600;
	font-size: .92rem;
	white-space: nowrap;
	position: relative;
	padding: 6px 0;
	}

.spiralstair2 a::after
	{
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	height: 2px;
	width: 0;
	background: var(--sn2-brick);
	transition: width .28s;
	}

.spiralstair2 a:hover::after,.spiralstair2 a.onbeam::after
	{
	width: 100%;
	}

.gallerywalk2-drive
	{
	display: flex;
	align-items: center;
	gap: 14px;
	flex: 0 0 auto;
	}

.gallerywalk2-digits
	{
	display: flex;
	flex-direction: column;
	line-height: 1.1;
	text-align: right;
	}

.gallerywalk2-digits small
	{
	font-size: .68rem;
	text-transform: uppercase;
	letter-spacing: 1.4px;
	color: var(--sn2-muted);
	}

.gallerywalk2-digits b
	{
	font-family: var(--sn2-display);
	font-size: 1.22rem;
	color: var(--sn2-brick);
	}

.hatchlatch2
	{
	display: none;
	width: 48px;
	height: 44px;
	border: 1px solid var(--sn2-line);
	background: #fff;
	border-radius: 12px;
	cursor: pointer;
	padding: 0;
	position: relative;
	}

.hatchlatch2 span
	{
	position: absolute;
	left: 13px;
	width: 22px;
	height: 2px;
	background: var(--sn2-ink);
	transition: .3s;
	}

.hatchlatch2 span:nth-child(1)
	{
	top: 15px;
	}

.hatchlatch2 span:nth-child(2)
	{
	top: 21px;
	}

.hatchlatch2 span:nth-child(3)
	{
	top: 27px;
	}

.hatchlatch2[aria-expanded="true"] span:nth-child(1)
	{
	top: 21px;
	transform: rotate(45deg);
	}

.hatchlatch2[aria-expanded="true"] span:nth-child(2)
	{
	opacity: 0;
	}

.hatchlatch2[aria-expanded="true"] span:nth-child(3)
	{
	top: 21px;
	transform: rotate(-45deg);
	}

.harborlight2
	{
	position: relative;
	color: #fff;
	padding: clamp(56px,8vw,104px) 0 clamp(70px,9vw,120px);
	overflow: hidden;
	isolation: isolate;
	}

.harborlight2-haar
	{
	position: absolute;
	inset: 0;
	z-index: -2;
	}

.harborlight2-haar img
	{
	width: 100%;
	height: 100%;
	object-fit: cover;
	transform: scale(1.06);
	animation: kenburns 24s ease-in-out infinite alternate;
	}

@keyframes kenburns
	{
	to
		{
		transform: scale(1.17) translate3d(-1.5%,-1.5%,0);
		}
	}

.harborlight2::before
	{
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	background: linear-gradient(100deg,rgba(18,14,12,.95) 0%,rgba(26,18,14,.86) 38%,rgba(181,57,31,.6) 74%,rgba(242,145,63,.42) 100%);
	}

.harborlight2-ranges
	{
	display: grid;
	grid-template-columns: 1.15fr .85fr;
	gap: 52px;
	align-items: center;
	}

.rangetag2
	{
	display: inline-flex;
	align-items: center;
	gap: 9px;
	background: rgba(255,255,255,.12);
	border: 1px solid rgba(255,255,255,.26);
	color: #fff;
	padding: 8px 17px;
	border-radius: 60px;
	font-size: .79rem;
	font-weight: 700;
	letter-spacing: 1.6px;
	text-transform: uppercase;
	margin-bottom: 22px;
	backdrop-filter: blur(6px);
	}

.harborlight2 h1
	{
	color: #fff;
	text-shadow: 0 6px 30px rgba(0,0,0,.4);
	}

.harborlight2 h1 .beamgold2
	{
	color: var(--sn2-ember-glow);
	display: inline-block;
	}

.harborlight2-underbeam
	{
	font-size: clamp(1.02rem,1.5vw,1.2rem);
	color: #E7E3D6;
	max-width: 610px;
	}

.harborlight2-rings
	{
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
	margin: 30px 0 26px;
	}

.harborlight2-marks
	{
	display: flex;
	flex-wrap: wrap;
	gap: 10px 22px;
	list-style: none;
	padding: 0;
	margin: 0;
	font-size: .92rem;
	color: #E3DFD2;
	}

.harborlight2-marks li
	{
	display: flex;
	align-items: center;
	gap: 8px;
	}

.lenscheck2
	{
	width: 20px;
	height: 20px;
	flex: 0 0 auto;
	border-radius: 50%;
	background: rgba(73,199,126,.2);
	display: grid;
	place-items: center;
	}

.lenscheck2 svg
	{
	width: 12px;
	height: 12px;
	stroke: #57E08D;
	fill: none;
	stroke-width: 3;
	}

.keepersround
	{
	background: linear-gradient(160deg,rgba(255,255,255,.98),rgba(246,240,231,.94));
	color: var(--sn2-ink);
	border-radius: var(--sn2-radius-lg);
	padding: 30px 28px;
	box-shadow: var(--sn2-shadow-lg);
	border: 1px solid rgba(255,255,255,.6);
	position: relative;
	animation: floaty 6.5s ease-in-out infinite;
	}

@keyframes floaty
	{
	0%,100%
		{
		transform: translateY(0);
		}
	50%
		{
		transform: translateY(-13px);
		}
	}

.keepersround-pennon
	{
	position: absolute;
	top: -18px;
	right: -10px;
	background: var(--sn2-brick);
	color: #fff;
	font-family: var(--sn2-display);
	font-size: .82rem;
	letter-spacing: 1.4px;
	padding: 9px 16px;
	border-radius: 40px;
	box-shadow: 0 8px 20px rgba(178,58,33,.4);
	text-transform: uppercase;
	animation: wobble 5s ease-in-out infinite;
	}

@keyframes wobble
	{
	0%,100%
		{
		transform: rotate(-3deg);
		}
	50%
		{
		transform: rotate(3deg);
		}
	}

.keepersround-toll
	{
	font-family: var(--sn2-display);
	font-size: clamp(3.4rem,7vw,4.6rem);
	line-height: 1;
	color: var(--sn2-brick);
	display: flex;
	align-items: flex-start;
	gap: 4px;
	justify-content: center;
	margin: 6px 0 2px;
	}

.keepersround-toll sup
	{
	font-size: .42em;
	margin-top: .32em;
	}

.keepersround h2
	{
	font-size: 1.32rem;
	margin-bottom: 4px;
	text-align: center;
	}

.keepersround .keepersround-underword
	{
	text-align: center;
	color: var(--sn2-muted);
	font-size: .9rem;
	margin-bottom: 16px;
	}

.keepersround-duties
	{
	list-style: none;
	margin: 0 0 20px;
	padding: 0;
	display: grid;
	gap: 9px;
	font-size: .95rem;
	}

.keepersround-duties li
	{
	display: flex;
	gap: 10px;
	align-items: flex-start;
	}

.keepersround-duties svg
	{
	width: 18px;
	height: 18px;
	flex: 0 0 auto;
	margin-top: 3px;
	stroke: var(--sn2-brick);
	fill: none;
	stroke-width: 3;
	}

.keepersround-fineline
	{
	font-size: .76rem;
	color: var(--sn2-muted);
	text-align: center;
	margin: 12px 0 0;
	line-height: 1.5;
	}

.tideline2
	{
	background: var(--sn2-charcoal-2);
	color: #C7C3B6;
	overflow: hidden;
	padding: 13px 0;
	border-block: 1px solid rgba(255,255,255,.07);
	}

.tideline2-runout
	{
	display: flex;
	gap: 52px;
	white-space: nowrap;
	width: max-content;
	animation: scrollX 34s linear infinite;
	font-family: var(--sn2-display);
	letter-spacing: 2px;
	font-size: .94rem;
	text-transform: uppercase;
	}

.tideline2-runout span
	{
	display: inline-flex;
	align-items: center;
	gap: 12px;
	}

.tideline2-runout b
	{
	color: var(--sn2-ember);
	}

@keyframes scrollX
	{
	to
		{
		transform: translateX(-50%);
		}
	}

section
	{
	padding: clamp(56px,7vw,100px) 0;
	position: relative;
	}

.lighthead2
	{
	max-width: 760px;
	margin: 0 auto 52px;
	}

.lighthead2.portside2
	{
	margin-inline: 0;
	}

.signalflag2
	{
	display: inline-flex;
	align-items: center;
	gap: 9px;
	color: var(--sn2-brick);
	font-weight: 800;
	letter-spacing: 2.4px;
	text-transform: uppercase;
	font-size: .78rem;
	margin-bottom: 14px;
	}

.signalflag2::before
	{
	content: "";
	width: 28px;
	height: 2px;
	background: var(--sn2-brick);
	}

.leadbeam2
	{
	font-size: 1.06rem;
	color: var(--sn2-muted);
	}

.tone-sandbar
	{
	background: linear-gradient(180deg,rgba(237,227,213,.75),rgba(246,240,231,.4));
	}

.tone-nightwater
	{
	background: var(--sn2-charcoal);
	color: #DAD6C9;
	}

.tone-nightwater h2,.tone-nightwater h3
	{
	color: #fff;
	}

.tone-nightwater .leadbeam2
	{
	color: #B3AFA2;
	}

.tone-nightwater .signalflag2
	{
	color: var(--sn2-ember-glow);
	}

.tone-nightwater .signalflag2::before
	{
	background: var(--sn2-ember);
	}

.beamcount
	{
	display: grid;
	grid-template-columns: repeat(4,1fr);
	gap: 22px;
	}

.beamcount-lamp
	{
	background: #fff;
	border-radius: var(--sn2-radius);
	padding: 26px 20px;
	text-align: center;
	box-shadow: var(--sn2-shadow-sm);
	border: 1px solid var(--sn2-line);
	transition: transform .3s,box-shadow .3s;
	}

.beamcount-lamp:hover
	{
	transform: translateY(-7px);
	box-shadow: var(--sn2-shadow);
	}

.beamcount-lamp b
	{
	display: block;
	font-family: var(--sn2-display);
	font-size: clamp(2rem,3.6vw,2.9rem);
	color: var(--sn2-brick);
	line-height: 1;
	}

.beamcount-lamp span
	{
	font-size: .87rem;
	color: var(--sn2-muted);
	letter-spacing: .6px;
	}

.lampwork2-array
	{
	display: grid;
	grid-template-columns: repeat(auto-fit,minmax(295px,1fr));
	gap: 26px;
	}

.lampwork2
	{
	background: #fff;
	border-radius: var(--sn2-radius-lg);
	overflow: hidden;
	box-shadow: var(--sn2-shadow-sm);
	border: 1px solid var(--sn2-line);
	display: flex;
	flex-direction: column;
	transition: transform .35s cubic-bezier(.2,.8,.3,1),box-shadow .35s;
	}

.lampwork2:hover
	{
	transform: translateY(-10px);
	box-shadow: var(--sn2-shadow-lg);
	}

.lampwork2-pane
	{
	position: relative;
	aspect-ratio: 16/10;
	overflow: hidden;
	background: var(--sn2-charcoal-3);
	}

.lampwork2-pane img
	{
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform .7s cubic-bezier(.2,.8,.3,1);
	}

.lampwork2:hover .lampwork2-pane img
	{
	transform: scale(1.09);
	}

.lampwork2-pane::after
	{
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg,transparent 42%,rgba(20,16,14,.72));
	}

.lampwork2-flarespot
	{
	position: absolute;
	left: 18px;
	bottom: 16px;
	z-index: 2;
	width: 46px;
	height: 46px;
	border-radius: 13px;
	background: var(--sn2-brick);
	display: grid;
	place-items: center;
	box-shadow: 0 8px 20px rgba(178,58,33,.45);
	}

.lampwork2-flarespot svg
	{
	width: 24px;
	height: 24px;
	stroke: #fff;
	fill: none;
	stroke-width: 1.9;
	stroke-linecap: round;
	stroke-linejoin: round;
	}

.lampwork2-logbody
	{
	padding: 24px 24px 26px;
	display: flex;
	flex-direction: column;
	flex: 1;
	}

.lampwork2-logbody h3
	{
	margin-bottom: 8px;
	}

.lampwork2-logbody p
	{
	font-size: .95rem;
	color: var(--sn2-muted);
	margin-bottom: 16px;
	}

.lampwork2-logbody ul
	{
	list-style: none;
	margin: 0 0 18px;
	padding: 0;
	font-size: .9rem;
	display: grid;
	gap: 6px;
	}

.lampwork2-logbody li
	{
	display: flex;
	gap: 9px;
	align-items: flex-start;
	color: #45484E;
	}

.lampwork2-logbody li::before
	{
	content: "";
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: var(--sn2-ember);
	flex: 0 0 auto;
	margin-top: 8px;
	}

.lampwork2-lanyard
	{
	margin-top: auto;
	font-weight: 700;
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-size: .95rem;
	}

.lampwork2-lanyard svg
	{
	width: 16px;
	height: 16px;
	stroke: currentColor;
	fill: none;
	stroke-width: 2.4;
	transition: transform .3s;
	}

.lampwork2:hover .lampwork2-lanyard svg
	{
	transform: translateX(5px);
	}

.distress2-array
	{
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 52px;
	align-items: center;
	}

.distress2-list
	{
	display: grid;
	gap: 14px;
	margin: 0;
	padding: 0;
	list-style: none;
	}

.distress2-list li
	{
	display: flex;
	gap: 15px;
	background: rgba(255,255,255,.05);
	border: 1px solid rgba(255,255,255,.1);
	border-radius: 14px;
	padding: 16px 18px;
	align-items: flex-start;
	transition: transform .3s,border-color .3s,background .3s;
	}

.distress2-list li:hover
	{
	transform: translateX(7px);
	border-color: rgba(240,128,60,.55);
	background: rgba(240,128,60,.08);
	}

.distress2-list .ds2
	{
	width: 38px;
	height: 38px;
	flex: 0 0 auto;
	border-radius: 11px;
	background: rgba(240,128,60,.16);
	display: grid;
	place-items: center;
	}

.distress2-list .ds2 svg
	{
	width: 20px;
	height: 20px;
	stroke: var(--sn2-ember-glow);
	fill: none;
	stroke-width: 2;
	stroke-linecap: round;
	stroke-linejoin: round;
	}

.distress2-list b
	{
	display: block;
	color: #fff;
	font-family: var(--sn2-display);
	letter-spacing: .5px;
	font-size: 1.02rem;
	text-transform: uppercase;
	}

.distress2-list span
	{
	font-size: .92rem;
	color: #AFAB9E;
	}

.distress2-pane
	{
	position: relative;
	border-radius: var(--sn2-radius-lg);
	overflow: hidden;
	box-shadow: var(--sn2-shadow-lg);
	}

.distress2-pane img
	{
	width: 100%;
	aspect-ratio: 4/5;
	object-fit: cover;
	}

.distress2-plaque
	{
	position: absolute;
	left: 20px;
	bottom: 20px;
	right: 20px;
	background: rgba(24,26,32,.82);
	backdrop-filter: blur(9px);
	border: 1px solid rgba(255,255,255,.14);
	border-radius: 16px;
	padding: 16px 18px;
	color: #fff;
	}

.distress2-plaque b
	{
	font-family: var(--sn2-display);
	display: block;
	color: var(--sn2-ember-glow);
	letter-spacing: 1px;
	}

.distress2-plaque span
	{
	font-size: .88rem;
	color: #C3BFB2;
	}

.fourwatches2
	{
	display: grid;
	grid-template-columns: repeat(4,1fr);
	gap: 24px;
	counter-reset: step;
	position: relative;
	}

.fourwatches2-watch
	{
	background: #fff;
	border-radius: var(--sn2-radius);
	padding: 34px 24px 26px;
	box-shadow: var(--sn2-shadow-sm);
	border: 1px solid var(--sn2-line);
	position: relative;
	transition: transform .35s,box-shadow .35s;
	}

.fourwatches2-watch:hover
	{
	transform: translateY(-8px);
	box-shadow: var(--sn2-shadow);
	}

.fourwatches2-bellnr
	{
	position: absolute;
	top: -20px;
	left: 24px;
	width: 44px;
	height: 44px;
	border-radius: 14px;
	background: linear-gradient(140deg,var(--sn2-ember),var(--sn2-brick));
	color: #fff;
	font-family: var(--sn2-display);
	font-size: 1.3rem;
	display: grid;
	place-items: center;
	box-shadow: 0 10px 22px rgba(178,58,33,.35);
	}

.fourwatches2-watch h3
	{
	font-size: 1.12rem;
	margin-top: 8px;
	}

.fourwatches2-watch p
	{
	font-size: .93rem;
	color: var(--sn2-muted);
	margin: 0;
	}

.lightlog2
	{
	display: grid;
	grid-template-columns: repeat(4,1fr);
	gap: 16px;
	}

.lightlog2-page
	{
	position: relative;
	border-radius: 18px;
	overflow: hidden;
	box-shadow: var(--sn2-shadow-sm);
	aspect-ratio: 1;
	background: var(--sn2-charcoal-3);
	}

.lightlog2-page:nth-child(1),.lightlog2-page:nth-child(6)
	{
	grid-row: span 2;
	aspect-ratio: 1/2.06;
	}

.lightlog2-page img
	{
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform .8s cubic-bezier(.2,.8,.3,1);
	}

.lightlog2-page:hover img
	{
	transform: scale(1.1);
	}

.lightlog2-page figcaption
	{
	position: absolute;
	inset: auto 0 0 0;
	padding: 34px 16px 14px;
	background: linear-gradient(transparent,rgba(20,16,14,.86));
	color: #fff;
	font-size: .85rem;
	font-weight: 600;
	transform: translateY(6px);
	opacity: 0;
	transition: .35s;
	}

.lightlog2-page:hover figcaption
	{
	transform: translateY(0);
	opacity: 1;
	}

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

.harborword2
	{
	background: #fff;
	border-radius: var(--sn2-radius);
	padding: 28px 26px;
	box-shadow: var(--sn2-shadow-sm);
	border: 1px solid var(--sn2-line);
	position: relative;
	transition: transform .35s,box-shadow .35s;
	}

.harborword2:hover
	{
	transform: translateY(-8px);
	box-shadow: var(--sn2-shadow);
	}

.harborword2 .hailquote2
	{
	position: absolute;
	top: 16px;
	right: 22px;
	font-family: var(--sn2-display);
	font-size: 4.2rem;
	color: rgba(178,58,33,.13);
	line-height: 1;
	}

.starways2
	{
	display: flex;
	gap: 3px;
	margin-bottom: 12px;
	}

.starways2 svg
	{
	width: 18px;
	height: 18px;
	fill: var(--sn2-gold);
	}

.harborword2 p
	{
	font-size: .98rem;
	color: #45484E;
	}

.harborword2 footer
	{
	display: flex;
	align-items: center;
	gap: 12px;
	margin-top: 16px;
	border-top: 1px solid var(--sn2-line);
	padding-top: 14px;
	}

.cameo2s
	{
	width: 42px;
	height: 42px;
	border-radius: 50%;
	background: linear-gradient(140deg,var(--sn2-brick),var(--sn2-ember));
	color: #fff;
	display: grid;
	place-items: center;
	font-family: var(--sn2-display);
	font-size: 1.05rem;
	flex: 0 0 auto;
	}

.harborword2 footer b
	{
	display: block;
	font-size: .95rem;
	}

.harborword2 footer span
	{
	font-size: .8rem;
	color: var(--sn2-muted);
	}

.shoreboard2
	{
	display: flex;
	flex-wrap: wrap;
	gap: 11px;
	justify-content: center;
	list-style: none;
	padding: 0;
	margin: 0 0 30px;
	}

.shoreboard2 li
	{
	background: #fff;
	border: 1px solid var(--sn2-line);
	border-radius: 60px;
	padding: 10px 20px;
	font-size: .92rem;
	font-weight: 600;
	box-shadow: var(--sn2-shadow-sm);
	transition: transform .25s,background .25s,color .25s,border-color .25s;
	}

.shoreboard2 li:hover
	{
	transform: translateY(-4px);
	background: var(--sn2-brick);
	color: #fff;
	border-color: var(--sn2-brick);
	}

.railside-qa
	{
	max-width: 880px;
	margin-inline: auto;
	}

.railside-qa details
	{
	background: #fff;
	border: 1px solid var(--sn2-line);
	border-radius: 14px;
	margin-bottom: 12px;
	box-shadow: var(--sn2-shadow-sm);
	overflow: hidden;
	transition: box-shadow .3s;
	}

.railside-qa details[open]
	{
	box-shadow: var(--sn2-shadow);
	}

.railside-qa summary
	{
	cursor: pointer;
	list-style: none;
	padding: 20px 58px 20px 22px;
	font-weight: 700;
	font-size: 1.03rem;
	position: relative;
	}

.railside-qa summary::-webkit-details-marker
	{
	display: none;
	}

.railside-qa summary::after
	{
	content: "";
	position: absolute;
	right: 22px;
	top: 50%;
	width: 12px;
	height: 12px;
	border-right: 2.6px solid var(--sn2-brick);
	border-bottom: 2.6px solid var(--sn2-brick);
	transform: translateY(-70%) rotate(45deg);
	transition: transform .3s;
	}

.railside-qa details[open] summary::after
	{
	transform: translateY(-25%) rotate(-135deg);
	}

.railside-qa .railside-qa-log
	{
	padding: 0 22px 20px;
	color: var(--sn2-muted);
	font-size: .97rem;
	}

.railside-qa .railside-qa-log p:last-child
	{
	margin-bottom: 0;
	}

.lightband2
	{
	position: relative;
	color: #fff;
	text-align: center;
	overflow: hidden;
	isolation: isolate;
	}

.lightband2 .lightband2-haar
	{
	position: absolute;
	inset: 0;
	z-index: -2;
	}

.lightband2 .lightband2-haar img
	{
	width: 100%;
	height: 100%;
	object-fit: cover;
	}

.lightband2::before
	{
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	background: linear-gradient(120deg,rgba(140,43,22,.94),rgba(24,26,32,.9));
	}

.lightband2 h2
	{
	color: #fff;
	font-size: clamp(2rem,4.4vw,3.3rem);
	}

.lightband2 p
	{
	color: #EEEADE;
	max-width: 660px;
	margin-inline: auto;
	font-size: 1.06rem;
	}

.lightband2-rings
	{
	display: flex;
	gap: 15px;
	justify-content: center;
	flex-wrap: wrap;
	margin-top: 28px;
	}

.lightband2-digits
	{
	display: block;
	font-family: var(--sn2-display);
	font-size: clamp(2rem,5vw,2.9rem);
	color: #fff;
	margin-top: 20px;
	letter-spacing: 1px;
	}

.lightband2-digits:hover
	{
	color: var(--sn2-ember-glow);
	}

.stationdesk2
	{
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 44px;
	align-items: start;
	}

.stationdesk2>*
	{
	min-width: 0;
	}

.stationdesk2-lines a,.breakwater2 address a
	{
	overflow-wrap: anywhere;
	}

.wheelhouse2
	{
	background: #fff;
	border-radius: var(--sn2-radius-lg);
	padding: 34px 32px;
	box-shadow: var(--sn2-shadow);
	border: 1px solid var(--sn2-line);
	}

.slipbox2
	{
	margin-bottom: 16px;
	}

.slipbox2 label
	{
	display: block;
	font-weight: 700;
	font-size: .86rem;
	margin-bottom: 7px;
	letter-spacing: .4px;
	}

.slipbox2 input,.slipbox2 select,.slipbox2 textarea
	{
	width: 100%;
	padding: 14px 16px;
	border: 1.6px solid var(--sn2-line);
	border-radius: 12px;
	font-size: 1rem;
	font-family: inherit;
	background: #FBFAF5;
	color: var(--sn2-ink);
	transition: border-color .25s,box-shadow .25s,background .25s;
	}

.slipbox2 input:focus,.slipbox2 select:focus,.slipbox2 textarea:focus
	{
	outline: none;
	border-color: var(--sn2-brick);
	background: #fff;
	box-shadow: 0 0 0 4px rgba(178,58,33,.12);
	}

.slipbox2 textarea
	{
	resize: vertical;
	min-height: 110px;
	}

.twinrange2
	{
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 16px;
	}

.wheelnote2
	{
	font-size: .79rem;
	color: var(--sn2-muted);
	margin-top: 12px;
	text-align: center;
	}

.wheelline2
	{
	display: none;
	padding: 14px 16px;
	border-radius: 12px;
	font-size: .94rem;
	margin-bottom: 16px;
	}

.wheelline2.oncourse2
	{
	display: block;
	background: rgba(46,125,81,.1);
	color: #2E8159;
	border: 1px solid rgba(46,125,81,.3);
	}

.wheelline2.offcourse2
	{
	display: block;
	background: rgba(178,58,33,.1);
	color: var(--sn2-brick-dark);
	border: 1px solid rgba(178,58,33,.3);
	}

.stationdesk2-lines
	{
	list-style: none;
	padding: 0;
	margin: 0 0 26px;
	display: grid;
	gap: 16px;
	}

.stationdesk2-lines li
	{
	display: flex;
	gap: 16px;
	align-items: flex-start;
	}

.stationdesk2-flarespot
	{
	width: 48px;
	height: 48px;
	flex: 0 0 auto;
	border-radius: 14px;
	background: rgba(178,58,33,.1);
	display: grid;
	place-items: center;
	}

.stationdesk2-flarespot svg
	{
	width: 22px;
	height: 22px;
	stroke: var(--sn2-brick);
	fill: none;
	stroke-width: 1.9;
	stroke-linecap: round;
	stroke-linejoin: round;
	}

.stationdesk2-lines b
	{
	display: block;
	font-family: var(--sn2-display);
	letter-spacing: .6px;
	text-transform: uppercase;
	font-size: .95rem;
	}

.stationdesk2-lines a,.stationdesk2-lines span
	{
	color: var(--sn2-muted);
	font-size: 1rem;
	}

.stationdesk2-lines a:hover
	{
	color: var(--sn2-brick);
	}

.chartpane2
	{
	border-radius: var(--sn2-radius);
	overflow: hidden;
	box-shadow: var(--sn2-shadow-sm);
	border: 1px solid var(--sn2-line);
	line-height: 0;
	}

.chartpane2 iframe
	{
	width: 100%;
	height: 290px;
	border: 0;
	}

.lampwatch2
	{
	background: #fff;
	border: 1px solid var(--sn2-line);
	border-radius: var(--sn2-radius);
	padding: 22px 24px;
	box-shadow: var(--sn2-shadow-sm);
	margin-bottom: 26px;
	}

.lampwatch2 dl
	{
	display: grid;
	grid-template-columns: auto 1fr;
	gap: 8px 18px;
	margin: 0;
	font-size: .95rem;
	}

.lampwatch2 dt
	{
	font-weight: 700;
	}

.lampwatch2 dd
	{
	margin: 0;
	text-align: right;
	color: var(--sn2-muted);
	}

.breakwater2
	{
	background: var(--sn2-charcoal);
	color: #A5A194;
	padding: 70px 0 0;
	font-size: .95rem;
	}

.breakwater2-array
	{
	display: grid;
	grid-template-columns: 1.5fr 1fr 1fr 1.2fr;
	gap: 38px;
	padding-bottom: 44px;
	}

.breakwater2 h4
	{
	color: #fff;
	font-size: 1rem;
	letter-spacing: 1.6px;
	margin-bottom: 18px;
	}

.breakwater2 a
	{
	color: #A5A194;
	}

.breakwater2 a:hover
	{
	color: var(--sn2-ember-glow);
	}

.breakwater2-lines
	{
	list-style: none;
	padding: 0;
	margin: 0;
	display: grid;
	gap: 10px;
	}

.breakwater2-crest
	{
	display: flex;
	align-items: center;
	gap: 12px;
	margin-bottom: 16px;
	color: #fff;
	}

.breakwater2-crest strong
	{
	font-family: var(--sn2-display);
	font-size: 1.1rem;
	letter-spacing: .6px;
	text-transform: uppercase;
	}

.breakwater2-washline
	{
	border-top: 1px solid rgba(255,255,255,.1);
	padding: 20px 0;
	display: flex;
	flex-wrap: wrap;
	gap: 10px 24px;
	justify-content: space-between;
	font-size: .84rem;
	}

.beamlamp2
	{
	position: fixed;
	right: 22px;
	bottom: 26px;
	z-index: 950;
	display: inline-flex;
	align-items: center;
	gap: 12px;
	background: linear-gradient(135deg,var(--sn2-brick),var(--sn2-brick-dark));
	color: #fff;
	padding: 15px 24px 15px 17px;
	border-radius: 60px;
	font-weight: 800;
	letter-spacing: .4px;
	box-shadow: 0 16px 40px rgba(178,58,33,.5);
	transition: transform .3s cubic-bezier(.2,.8,.3,1),box-shadow .3s;
	}

.beamlamp2:hover
	{
	transform: scale(1.06) translateY(-3px);
	color: #fff;
	box-shadow: 0 22px 52px rgba(178,58,33,.6);
	}

.beamlamp2 .bm2-halo
	{
	position: relative;
	width: 40px;
	height: 40px;
	border-radius: 50%;
	background: rgba(255,255,255,.18);
	display: grid;
	place-items: center;
	flex: 0 0 auto;
	}

.beamlamp2 .bm2-halo::before,.beamlamp2 .bm2-halo::after
	{
	content: "";
	position: absolute;
	inset: 0;
	border-radius: 50%;
	border: 2px solid rgba(255,255,255,.6);
	animation: ring 2.6s ease-out infinite;
	}

.beamlamp2 .bm2-halo::after
	{
	animation-delay: 1.3s;
	}

@keyframes ring
	{
	0%
		{
		transform: scale(1);
		opacity: .85;
		}
	100%
		{
		transform: scale(2.1);
		opacity: 0;
		}
	}

.beamlamp2 svg
	{
	width: 20px;
	height: 20px;
	stroke: #fff;
	fill: none;
	stroke-width: 2;
	animation: shake 3.2s ease-in-out infinite;
	}

@keyframes shake
	{
	0%,86%,100%
		{
		transform: rotate(0);
		}
	90%
		{
		transform: rotate(-14deg);
		}
	94%
		{
		transform: rotate(14deg);
		}
	}

.beamlamp2 .bm2-slipnote
	{
	display: flex;
	flex-direction: column;
	line-height: 1.15;
	}

.beamlamp2 .bm2-slipnote small
	{
	font-size: .66rem;
	text-transform: uppercase;
	letter-spacing: 1.4px;
	opacity: .85;
	font-weight: 600;
	}

.beamlamp2 .bm2-slipnote b
	{
	font-family: var(--sn2-display);
	font-size: 1.12rem;
	letter-spacing: .6px;
	}

.jettyrail2
	{
	display: none;
	position: fixed;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 960;
	background: rgba(24,26,32,.97);
	backdrop-filter: blur(12px);
	border-top: 1px solid rgba(255,255,255,.12);
	padding: 9px 10px calc(9px + env(safe-area-inset-bottom));
	}

.jettyrail2 ul
	{
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: 1.4fr 1fr 1fr;
	gap: 8px;
	}

.jettyrail2 a
	{
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 3px;
	padding: 9px 4px;
	border-radius: 12px;
	color: #E5E1D4;
	font-size: .72rem;
	font-weight: 700;
	letter-spacing: .4px;
	text-transform: uppercase;
	}

.jettyrail2 a svg
	{
	width: 19px;
	height: 19px;
	stroke: currentColor;
	fill: none;
	stroke-width: 2;
	stroke-linecap: round;
	stroke-linejoin: round;
	}

.jettyrail2 .jr2-line
	{
	background: linear-gradient(135deg,var(--sn2-brick),var(--sn2-brick-dark));
	color: #fff;
	box-shadow: 0 6px 18px rgba(178,58,33,.5);
	animation: mbPulse 2.4s ease-in-out infinite;
	}

@keyframes mbPulse
	{
	0%,100%
		{
		box-shadow: 0 6px 18px rgba(178,58,33,.5);
		}
	50%
		{
		box-shadow: 0 6px 26px rgba(240,128,60,.85);
		}
	}

.uptower2
	{
	position: fixed;
	right: 26px;
	bottom: 104px;
	z-index: 940;
	width: 46px;
	height: 46px;
	border-radius: 50%;
	background: var(--sn2-charcoal);
	color: #fff;
	display: grid;
	place-items: center;
	box-shadow: var(--sn2-shadow);
	opacity: 0;
	visibility: hidden;
	transform: translateY(10px);
	transition: .3s;
	border: 0;
	cursor: pointer;
	}

.uptower2.beaconed
	{
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
	}

.uptower2 svg
	{
	width: 18px;
	height: 18px;
	stroke: #fff;
	fill: none;
	stroke-width: 2.6;
	}

.uncovered2
	{
	opacity: 0;
	transform: translateY(34px);
	transition: opacity .8s cubic-bezier(.2,.8,.3,1),transform .8s cubic-bezier(.2,.8,.3,1);
	}

.uncovered2.lampbright
	{
	opacity: 1;
	transform: none;
	}

.uncovered2.sil1
	{
	transition-delay: .1s;
	}

.uncovered2.sil2
	{
	transition-delay: .2s;
	}

.uncovered2.sil3
	{
	transition-delay: .3s;
	}

.uncovered2.sil4
	{
	transition-delay: .4s;
	}

.uncovered2.sil5
	{
	transition-delay: .5s;
	}

.uncovered2.sil6
	{
	transition-delay: .6s;
	}

@media (max-width:1080px)
	{
	.harborlight2-ranges
		{
		grid-template-columns: 1fr;
		gap: 44px;
		}
	.keepersround
		{
		max-width: 520px;
		}
	.beamcount
		{
		grid-template-columns: repeat(2,1fr);
		}
	.fourwatches2
		{
		grid-template-columns: repeat(2,1fr);
		row-gap: 38px;
		}
	.harborwords2
		{
		grid-template-columns: 1fr;
		}
	.breakwater2-array
		{
		grid-template-columns: 1fr 1fr;
		}
	.lightlog2
		{
		grid-template-columns: repeat(3,1fr);
		}
	}

@media (max-width:1440px)
	{
	.spiralstair2
		{
		gap: 18px;
		}
	.spiralstair2 a
		{
		font-size: .9rem;
		}
	.gallerywalk2-digits
		{
		display: none;
		}
	}

@media (max-width:1240px)
	{
	.spiralstair2
		{
		gap: 15px;
		}
	.spiralstair2 a
		{
		font-size: .86rem;
		}
	.spiralstair2 li:has(.gallerywalk2-faded)
		{
		display: none;
		}
	.gallerywalk2-faded
		{
		display: none;
		}
	}

@media (max-width:1150px)
	{
	.spiralstair2
		{
		position: fixed;
		inset: var(--sn2-header-h) 0 auto 0;
		background: var(--sn2-cream);
		flex-direction: column;
		align-items: stretch;
		gap: 0;
		padding: 10px 6% 26px;
		border-bottom: 1px solid var(--sn2-line);
		box-shadow: var(--sn2-shadow);
		transform: translateY(-135%);
		transition: transform .4s cubic-bezier(.2,.8,.3,1);
		max-height: calc(100vh - var(--sn2-header-h));
		overflow: auto;
		}
	.spiralstair2.swungajar
		{
		transform: translateY(0);
		}
	.spiralstair2 li:has(.gallerywalk2-faded)
		{
		display: block;
		}
	.gallerywalk2-faded
		{
		display: block;
		}
	.spiralstair2 li
		{
		border-bottom: 1px solid var(--sn2-line);
		}
	.spiralstair2 a
		{
		display: block;
		padding: 15px 0;
		font-size: 1.05rem;
		}
	.hatchlatch2
		{
		display: block;
		}
	.gallerywalk2-digits
		{
		display: none;
		}
	.gallerywalk2-drive .lampring2
		{
		padding: 12px 20px;
		font-size: .92rem;
		}
	.distress2-array,.stationdesk2
		{
		grid-template-columns: 1fr;
		gap: 34px;
		}
	.beamlamp2
		{
		display: none;
		}
	.jettyrail2
		{
		display: block;
		}
	body
		{
		padding-bottom: 74px;
		}
	.uptower2
		{
		bottom: 88px;
		right: 16px;
		}
	}

@media (max-width:640px)
	{
	body
		{
		font-size: 16px;
		}
	.morseline2 .stationspan2
		{
		justify-content: center;
		text-align: center;
		font-size: .8rem;
		gap: 6px 16px;
		padding: 7px 0;
		}
	.morseline2 .mo2-stow,.morseline2 .mo2-crier
		{
		display: none;
		}
	.gallerywalk2-hail-note
		{
		display: none;
		}
	.gallerywalk2-drive .lampring2
		{
		padding: 12px 14px;
		border-radius: 50%;
		}
	.gallerywalk2-drive
		{
		gap: 9px;
		}
	.beamcount,.fourwatches2
		{
		grid-template-columns: 1fr 1fr;
		gap: 14px;
		}
	.lightlog2
		{
		grid-template-columns: repeat(2,1fr);
		gap: 10px;
		}
	.lightlog2-page:nth-child(1),.lightlog2-page:nth-child(6)
		{
		grid-row: span 1;
		aspect-ratio: 1;
		}
	.twinrange2
		{
		grid-template-columns: 1fr;
		}
	.wheelhouse2
		{
		padding: 26px 20px;
		}
	.breakwater2-array
		{
		grid-template-columns: 1fr;
		gap: 30px;
		}
	.harborlight2-rings .lampring2
		{
		flex: 1 1 100%;
		}
	.gallerywalk2
		{
		gap: 8px;
		}
	.lightmark2
		{
		min-width: 0;
		gap: 9px;
		}
	.lightmark2-lens
		{
		width: 38px;
		height: 38px;
		}
	.lightmark2-note
		{
		min-width: 0;
		}
	.lightmark2-note span
		{
		font-size: .56rem;
		letter-spacing: 1.2px;
		white-space: nowrap;
		overflow: hidden;
		text-overflow: ellipsis;
		}
	.lightmark2-note strong
		{
		font-size: .85rem;
		white-space: nowrap;
		overflow: hidden;
		text-overflow: ellipsis;
		}
	.beamcount .beamcount-lamp
		{
		padding: 20px 12px;
		}
	.lampwork2-logbody,.wheelhouse2
		{
		overflow-wrap: break-word;
		}
	}

@media (max-width:400px)
	{
	.stationspan2
		{
		width: 94%;
		}
	.fourwatches2
		{
		grid-template-columns: 1fr;
		row-gap: 34px;
		}
	.beamcount
		{
		gap: 10px;
		}
	.lightmark2-lens
		{
		width: 34px;
		height: 34px;
		}
	.lightmark2-note strong
		{
		font-size: .8rem;
		}
	.gallerywalk2-drive .lampring2
		{
		padding: 11px 13px;
		}
	.hatchlatch2
		{
		width: 44px;
		}
	}

@media (prefers-reduced-motion:reduce)
	{
	*,*::before,*::after
		{
		animation-duration: .001ms!important;
		animation-iteration-count: 1!important;
		transition-duration: .001ms!important;
		}
	html
		{
		scroll-behavior: auto;
		}
	.uncovered2
		{
		opacity: 1;
		transform: none;
		}
	}

@media print
	{
	.lanternroom2,.beamlamp2,.jettyrail2,.uptower2,#bg-fx-sn,.tideline2
		{
		display: none!important;
		}
	body
		{
		background: #fff;
		color: #000;
		}
	}

.keepersround-nothing
	{
	font-family: var(--sn2-display);
	font-size: clamp(3rem,6.4vw,4.3rem);
	line-height: 1;
	color: var(--sn2-brick);
	text-align: center;
	letter-spacing: 2px;
	margin: 8px 0 2px;
	}

.keepersround-nothing small
	{
	display: block;
	font-family: var(--sn2-font);
	font-size: .31em;
	letter-spacing: 3.4px;
	color: var(--sn2-coast);
	font-weight: 800;
	margin-top: 6px;
	}

.keepersround .keepersround-duties svg
	{
	stroke: var(--sn2-coast);
	}

.pennon-nothing
	{
	background: var(--sn2-coast);
	box-shadow: 0 8px 20px rgba(30,111,104,.42);
	}

.lenscheck2-slate
	{
	background: rgba(30,111,104,.22);
	}

.lenscheck2-slate svg
	{
	stroke: #AFC2D4;
	}

.swellnote2
	{
	display: flex;
	gap: 12px;
	align-items: flex-start;
	background: rgba(242,145,63,.1);
	border: 1px solid rgba(242,145,63,.34);
	border-radius: 14px;
	padding: 16px 18px;
	margin-top: 24px;
	}

.swellnote2 svg
	{
	width: 22px;
	height: 22px;
	flex: 0 0 auto;
	margin-top: 2px;
	stroke: var(--sn2-brick);
	fill: none;
	stroke-width: 2;
	stroke-linecap: round;
	stroke-linejoin: round;
	}

.swellnote2 p
	{
	margin: 0;
	font-size: .94rem;
	}

.keeper-card2
	{
	background: linear-gradient(158deg,var(--sn2-charcoal) 0%,var(--sn2-charcoal-2) 55%,#3A2617 100%);
	color: #D8D4C7;
	border-radius: var(--sn2-radius-lg);
	padding: 38px 34px;
	box-shadow: var(--sn2-shadow-lg);
	border: 1px solid rgba(255,255,255,.09);
	position: relative;
	overflow: hidden;
	}

.keeper-card2::before
	{
	content: "";
	position: absolute;
	top: -90px;
	right: -70px;
	width: 260px;
	height: 260px;
	border-radius: 50%;
	background: radial-gradient(circle,rgba(242,145,63,.34),transparent 68%);
	filter: blur(14px);
	animation: float1 18s ease-in-out infinite;
	}

.keeper-card2>*
	{
	position: relative;
	z-index: 1;
	}

.keeper-tag2
	{
	display: inline-flex;
	align-items: center;
	gap: 9px;
	color: var(--sn2-ember-glow);
	font-weight: 800;
	letter-spacing: 2.4px;
	text-transform: uppercase;
	font-size: .74rem;
	margin-bottom: 12px;
	}

.keeper-tag2::before
	{
	content: "";
	width: 26px;
	height: 2px;
	background: var(--sn2-ember);
	}

.keeper-card2 h3
	{
	color: #fff;
	font-size: clamp(1.4rem,2.4vw,1.9rem);
	margin-bottom: 10px;
	}

.keeper-card2 p
	{
	color: #B1ADA0;
	font-size: .99rem;
	}

.keeper-digits2
	{
	display: block;
	font-family: var(--sn2-display);
	font-size: clamp(2.1rem,4.6vw,3rem);
	color: #fff;
	letter-spacing: 1px;
	margin: 20px 0 18px;
	text-align: center;
	transition: color .25s,transform .25s;
	}

.keeper-digits2:hover
	{
	color: var(--sn2-ember-glow);
	transform: scale(1.03);
	}

.keeper-watch2
	{
	text-align: center;
	font-size: .92rem;
	margin: 18px 0 0;
	color: #B1ADA0;
	}

.keeper-watch2 strong
	{
	color: #fff;
	}

.keeper-orders2
	{
	margin-top: 26px;
	padding-top: 22px;
	border-top: 1px solid rgba(255,255,255,.12);
	}

.keeper-orders2 h4
	{
	color: #fff;
	font-size: .92rem;
	letter-spacing: 1.8px;
	margin-bottom: 14px;
	}

.keeper-orders2 ol
	{
	margin: 0;
	padding: 0;
	list-style: none;
	counter-reset: ce;
	display: grid;
	gap: 12px;
	}

.keeper-orders2 li
	{
	counter-increment: ce;
	display: flex;
	gap: 13px;
	align-items: flex-start;
	font-size: .94rem;
	color: #BFBBAE;
	}

.keeper-orders2 li::before
	{
	content: counter(ce);
	flex: 0 0 auto;
	width: 26px;
	height: 26px;
	border-radius: 8px;
	background: rgba(242,145,63,.18);
	color: var(--sn2-ember-glow);
	font-family: var(--sn2-display);
	font-size: .9rem;
	display: grid;
	place-items: center;
	margin-top: 1px;
	}

@media (max-width:640px)
	{
	.keeper-card2
		{
		padding: 28px 22px;
		}
	}

.harborword2 p
	{
	font-size: .95rem;
	line-height: 1.62;
	}

.harborword2 footer b
	{
	font-size: .92rem;
	line-height: 1.3;
	}

.harborword2 .cameo2s svg
	{
	display: block;
	}

@media (max-width:1080px)
	{
	.harborwords2
		{
		gap: 22px;
		}
	}

.jettyrail2 ul.jr2-pair
	{
	grid-template-columns: 1.7fr 1fr;
	}

/* narrow-channel allowances */
@media (max-width: 392px)
	{
	.lightmark2-note strong
		{
		max-width: 46vw;
		overflow: hidden;
		text-overflow: ellipsis;
		white-space: nowrap;
		}
	.gallerywalk2-hail
		{
		padding-inline: 13px;
		}
	}

.jettyrail2 ul
	{
	grid-template-columns: 1fr;
	}

.fourwatches2 > *
	{
	min-width: 0;
	}

.fourwatches2-watch h3
	{
	overflow-wrap: anywhere;
	}

.beamcount-lamp b span
	{
	font-size: inherit;
	color: inherit;
	letter-spacing: 0;
	}
