/* ==========================================================================
   Sign and Return — marketing homepage
   Styles the Divi 5 modules that make up the page. Loaded only on the page
   carrying the .snr-page body class.

   Accessibility note: no status, tier or state on this page is signalled by
   colour alone. Every one of them carries an icon and a written label as
   well, so the page reads identically in greyscale.
   ========================================================================== */

:root {
	--snr-navy:        #0B2A54;
	--snr-navy-deep:   #02244C;
	--snr-navy-ink:    #10294B;
	--snr-navy-soft:   #2E5285;
	--snr-green:       #1E4A24;
	--snr-green-soft:  #2C6B34;
	--snr-bronze:      #8A6338;
	--snr-cream:       #F7F2ED;
	--snr-ink:         #2C3A4B;
	--snr-muted:       #5A6B80;
	--snr-line:        #DDE3EB;
	--snr-line-soft:   #E9EDF3;
	--snr-tint:        #F7F8FB;
	--snr-tint-green:  #F4F6F3;
	--snr-amber:       #B8651B;

	--snr-serif: Georgia, "Iowan Old Style", "Palatino Linotype", Palatino, "Times New Roman", serif;
	--snr-sans:  "Nunito Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;

	--snr-shell: 1180px;
	--snr-radius: 10px;
}

/* --------------------------------------------------------------------------
   Base + Divi resets
   -------------------------------------------------------------------------- */

body.snr-page {
	font-family: var(--snr-sans);
	color: var(--snr-ink);
	background: #fff;
	-webkit-font-smoothing: antialiased;
}

.snr-page #page-container { padding-top: 0 !important; }

/* Divi gives every row a fixed width and a bottom gutter. We manage spacing
   ourselves, section by section. */
.snr-page .et_pb_row {
	width: 92%;
	max-width: var(--snr-shell);
	padding: 0;
	margin: 0 auto;
}
.snr-page .et_pb_section { padding: 0; }
.snr-page .et_pb_column { margin-bottom: 0; }
.snr-page .et_pb_module { margin-bottom: 0; }
.snr-page .et_pb_text_inner > p:last-child { margin-bottom: 0; }
.snr-page .et_pb_text_inner > p { margin: 0 0 .55em; }

.snr-page h1, .snr-page h2, .snr-page h3, .snr-page h4 {
	font-family: var(--snr-serif);
	color: var(--snr-navy-ink);
	padding-bottom: 0;
	letter-spacing: -.01em;
}

.snr-page a { color: var(--snr-navy-soft); }

/* Visible keyboard focus everywhere. */
.snr-page a:focus-visible,
.snr-page button:focus-visible,
.snr-page input:focus-visible,
.snr-page select:focus-visible,
.snr-page textarea:focus-visible {
	outline: 3px solid #2E5285;
	outline-offset: 2px;
	border-radius: 4px;
}

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

/* Divi 5 prints its computed module CSS in an inline <style> late in the
   document, so it wins over this external sheet at equal specificity.
   Layout-critical declarations below are therefore marked !important. That is
   deliberate, not sloppiness. */

/* Round icon badge: a Divi Blurb image wrap turned into a coloured disc. */
.snr-page .snr-icon-disc .et_pb_main_blurb_image .et_pb_image_wrap {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	overflow: hidden;
}
.snr-page .snr-icon-disc .et_pb_main_blurb_image img { display: block; }

/* Inline SVGs inside flex rows must not be squashed. */
.snr-page .snr-btn > svg,
.snr-page .snr-status-bar > svg,
.snr-page .snr-consent-box > svg,
.snr-page .snr-cert-verify > svg,
.snr-page .snr-pricing-foot svg,
.snr-page .snr-tl-dot > svg,
.snr-page .snr-hero-secondary svg,
.snr-page .snr-band-more svg { flex: 0 0 auto; }

/* Shared button treatment ------------------------------------------------- */

.snr-page .et_pb_button,
.snr-btn {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	font-family: var(--snr-sans);
	font-weight: 700;
	font-size: 15px;
	line-height: 1.2;
	padding: 13px 22px;
	border-radius: 6px;
	border: 2px solid transparent;
	text-decoration: none;
	cursor: pointer;
	transition: background-color .15s ease, border-color .15s ease, color .15s ease;
}
.snr-page .et_pb_button:after,
.snr-page .et_pb_button:before { display: none !important; content: none !important; }

.snr-btn-primary,
.snr-page .snr-btn-primary.et_pb_button {
	background: var(--snr-navy-deep);
	border-color: var(--snr-navy-deep);
	color: #fff !important;
}
.snr-btn-primary:hover,
.snr-page .snr-btn-primary.et_pb_button:hover { background: #051f40; border-color: #051f40; color: #fff !important; }

.snr-btn-green,
.snr-page .snr-btn-green.et_pb_button {
	background: var(--snr-green);
	border-color: var(--snr-green);
	color: #fff !important;
}
.snr-btn-green:hover,
.snr-page .snr-btn-green.et_pb_button:hover { background: #163819; border-color: #163819; color: #fff !important; }

.snr-btn-outline {
	background: #fff;
	border-color: #C3CEDE;
	color: var(--snr-navy-deep) !important;
	padding: 10px 16px;
}
.snr-btn-outline:hover { border-color: var(--snr-navy-deep); background: var(--snr-tint); }

.snr-btn svg { flex: 0 0 auto; }

/* --------------------------------------------------------------------------
   1. Header
   -------------------------------------------------------------------------- */

.snr-header {
	background: #fff;
	border-bottom: 1px solid var(--snr-line);
	position: sticky;
	top: 0;
	z-index: 900;
}
.snr-page.admin-bar .snr-header { top: 32px; }

.snr-nav {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	padding: 14px 0;
}

.snr-brand { display: flex; align-items: center; gap: 14px; text-decoration: none; }
.snr-brand-mark { flex: 0 0 auto; display: block; }
.snr-brand-name {
	display: block;
	font-family: var(--snr-serif);
	font-size: 27px;
	line-height: 1.1;
	color: var(--snr-navy-ink);
	font-weight: 400;
}
.snr-brand-tag {
	display: block;
	font-size: 12.5px;
	line-height: 1.45;
	color: var(--snr-muted);
	margin-top: 3px;
	max-width: 42ch;
}

.snr-nav-menu { display: flex; align-items: center; gap: 30px; }
.snr-nav-menu a:not(.snr-btn) {
	font-size: 15px;
	font-weight: 600;
	color: var(--snr-ink);
	text-decoration: none;
	white-space: nowrap;
}
.snr-nav-menu a:not(.snr-btn):hover { color: var(--snr-navy-deep); }

.snr-nav-toggle {
	display: none;
	background: #fff;
	border: 1px solid #C3CEDE;
	border-radius: 6px;
	padding: 9px 11px;
	cursor: pointer;
	color: var(--snr-navy-deep);
	align-items: center;
	gap: 8px;
	font: 600 14px/1 var(--snr-sans);
}
.snr-nav-toggle-bars { display: block; width: 18px; height: 2px; background: currentColor; position: relative; }
.snr-nav-toggle-bars::before,
.snr-nav-toggle-bars::after {
	content: ""; position: absolute; left: 0; width: 18px; height: 2px; background: currentColor;
}
.snr-nav-toggle-bars::before { top: -6px; }
.snr-nav-toggle-bars::after  { top: 6px; }

/* --------------------------------------------------------------------------
   2. Hero
   -------------------------------------------------------------------------- */

.snr-hero { background: #fff; overflow: hidden; }
.snr-hero .et_pb_row { padding: 46px 0 40px; align-items: center; }

.snr-hero-title h1 {
	font-size: 52px;
	line-height: 1.08;
	margin: 0 0 20px;
	color: var(--snr-navy-ink);
}

.snr-hero-lede .et_pb_text_inner {
	font-size: 17px;
	line-height: 1.65;
	color: var(--snr-ink);
	max-width: 34em;
	margin-bottom: 26px;
}

/* Hero benefit lines — Divi Blurb, icon on the left, title runs into body. */
.snr-hero-benefit { margin-bottom: 13px !important; }
.snr-hero-benefit .et_pb_blurb_content { max-width: none; display: flex !important; gap: 16px; align-items: flex-start; }
.snr-hero-benefit .et_pb_main_blurb_image { margin: 2px 0 0; flex: 0 0 26px; }
.snr-hero-benefit .et_pb_main_blurb_image img { width: 26px; height: 26px; }
.snr-hero-benefit .et_pb_blurb_container { padding: 0; }
.snr-hero-benefit .et_pb_module_header {
	display: inline;
	font-family: var(--snr-sans);
	font-size: 15.5px;
	font-weight: 800;
	color: var(--snr-navy-ink);
	margin-right: .3em;
}
.snr-hero-benefit .et_pb_blurb_description { display: inline; }
.snr-hero-benefit .et_pb_blurb_description p {
	display: inline;
	font-size: 15.5px;
	line-height: 1.6;
	color: var(--snr-ink);
}

.snr-hero-ctas {
	display: flex !important;
	align-items: center;
	gap: 28px;
	flex-wrap: wrap;
	margin-top: 30px;
}
.snr-hero-ctas .et_pb_button_module_wrapper { margin: 0; }
.snr-hero-secondary .et_pb_text_inner a {
	display: inline-flex;
	align-items: center;
	gap: 9px;
	font-weight: 700;
	font-size: 15.5px;
	color: var(--snr-navy-deep);
	text-decoration: none;
}
.snr-hero-secondary .et_pb_text_inner a:hover { text-decoration: underline; }

/* Hero media stack: laptop, badge overlay, callout bar. */
.snr-hero-media { position: relative; display: block !important; }
.snr-hero-shot img {
	width: 100%;
	height: auto;
	display: block;
	border-radius: 4px;
}
/* The badge is registered onto the spot where it already sits in the hero
   photograph, so the two read as one element. Both offsets are expressed
   relative to the photo's own width, which keeps the registration exact at
   every viewport size:
     photo crop  = 508 x 319 mockup px, badge = 94 px square at (377, -10)
     left        = 377 / 508  = 74.2%
     width       =  94 / 508  = 18.5%
     top offset  = -10 / 319 of the photo height, which is -10.6% of the
                   badge's own height -> expressed as translateY. */
.snr-hero-badge {
	position: absolute;
	top: 0;
	left: 74.2%;
	right: auto;
	width: 18.5%;
	transform: translateY(-10.6%);
	z-index: 3;
}
/* The badge is a near-white disc (rim reads ~#E2E2E3) on a PNG with a circular
   alpha mask. Over the current hero it lands across a blown-out window, and a
   light disc on a white background loses its own edge. Two stacked
   drop-shadows fix that without touching the badge's position, size, or
   artwork: a tight one that reads as a hairline rim and defines the edge, and
   a soft one that lifts the disc off whatever is behind it.

   drop-shadow, not box-shadow, on purpose: the opaque disc is 368px inside a
   376px box, so a box-shadow would trace the square's rounded corners about
   1px clear of the artwork and show a floating ring. filter: drop-shadow
   follows the alpha channel, so it hugs the disc exactly.

   This also degrades correctly the other way — over a dark background it is
   simply subtle rather than wrong. */
.snr-hero-badge img {
	width: 100%;
	height: auto;
	display: block;
	filter:
		drop-shadow(0 1px 1px rgba(2, 36, 76, 0.45))
		drop-shadow(0 3px 10px rgba(2, 36, 76, 0.28));
}

.snr-hero-callout {
	position: relative;
	z-index: 2;
	margin: -34px 0 0 auto !important;
	width: 88%;
	background: #FBF7F0;
	border: 1px solid #EADFCE;
	border-radius: 8px;
	padding: 16px 20px;
	box-shadow: 0 8px 22px rgba(11, 42, 84, .10);
}
.snr-hero-callout .et_pb_blurb_content { max-width: none; display: flex !important; gap: 14px; align-items: flex-start; }
.snr-hero-callout .et_pb_main_blurb_image { margin: 0; flex: 0 0 30px; }
.snr-hero-callout .et_pb_main_blurb_image img { width: 30px; height: 30px; }
.snr-hero-callout .et_pb_blurb_container { padding: 0; }
.snr-hero-callout .et_pb_module_header {
	font-family: var(--snr-sans);
	font-size: 15px;
	font-weight: 600;
	color: var(--snr-ink);
	line-height: 1.5;
	margin-bottom: 2px;
}
.snr-hero-callout .et_pb_blurb_description p {
	font-size: 15px;
	line-height: 1.5;
	color: var(--snr-ink);
}

/* --------------------------------------------------------------------------
   3. Five benefits
   -------------------------------------------------------------------------- */

.snr-benefits { background: #fff; border-top: 1px solid var(--snr-line-soft); }
.snr-benefits .et_pb_row { padding: 0 0 44px; }
.snr-benefits .snr-benefits-headrow { padding: 30px 0 26px; }

.snr-rule-heading h2 {
	display: flex;
	align-items: center;
	gap: 22px;
	justify-content: center;
	font-size: 27px;
	margin: 0;
	white-space: nowrap;
}
.snr-rule-heading h2::before,
.snr-rule-heading h2::after {
	content: "";
	height: 1px;
	background: var(--snr-line);
	flex: 1 1 auto;
	min-width: 20px;
}

.snr-benefit { padding: 0 18px; text-align: center; }
.snr-benefits .et_pb_column:not(:last-child) .snr-benefit { border-right: 1px solid var(--snr-line-soft); }

.snr-benefit .et_pb_blurb_content { max-width: none; text-align: center !important; }
.snr-benefit .et_pb_blurb_container,
.snr-benefit .et_pb_blurb_description,
.snr-benefit .et_pb_blurb_description p,
.snr-benefit .et_pb_module_header { text-align: center !important; }
.snr-benefit .et_pb_main_blurb_image { margin-bottom: 18px; }
.snr-benefit .et_pb_main_blurb_image img { width: 46px; height: 46px; }
.snr-benefit .et_pb_module_header {
	font-family: var(--snr-sans);
	font-size: 15px;
	font-weight: 800;
	line-height: 1.35;
	color: var(--snr-navy-ink);
	margin-bottom: 12px;
}
.snr-benefit .et_pb_blurb_description p {
	font-size: 14px;
	line-height: 1.65;
	color: var(--snr-ink);
}

/* --------------------------------------------------------------------------
   4 + 5. Product bands
   -------------------------------------------------------------------------- */

.snr-band { background: #fff; }
.snr-band .et_pb_row { padding: 12px 0; }

.snr-band-inner {
	display: flex !important;
	align-items: stretch;
	gap: 0;
	background: var(--snr-tint);
	border: 1px solid var(--snr-line);
	border-radius: var(--snr-radius);
	overflow: hidden;
}
.snr-band .et_pb_column { width: 100% !important; }

.snr-band-photo { flex: 0 0 235px; align-self: stretch; }
.snr-band-photo .et_pb_image_wrap { display: block !important; height: 100%; }
.snr-band-photo img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	border-radius: 8px 0 0 8px;
}

.snr-band-body { flex: 1 1 auto; padding: 24px 28px 22px; display: flex !important; flex-direction: column; min-width: 0; }

.snr-band-head { margin-bottom: 20px !important; }
.snr-band-head .et_pb_blurb_content { max-width: none; display: flex !important; gap: 18px; align-items: center; }
.snr-band-head .et_pb_main_blurb_image { margin: 0; flex: 0 0 52px; }
.snr-band-head .et_pb_main_blurb_image .et_pb_image_wrap {
	display: flex; align-items: center; justify-content: center;
	width: 52px; height: 52px; border-radius: 50%; background: var(--snr-navy-deep);
}
.snr-band-head .et_pb_main_blurb_image img { width: 28px; height: 28px; }
.snr-band-head .et_pb_blurb_container { padding: 0; }
.snr-band-head .et_pb_module_header { font-size: 29px; line-height: 1.15; margin-bottom: 4px; }
.snr-band-head .et_pb_blurb_description p { font-size: 14.5px; color: var(--snr-navy-soft); }

.snr-band-items {
	display: grid !important;
	grid-template-columns: repeat(4, 1fr);
	gap: 0;
	padding: 6px 0 18px;
	flex: 1 1 auto;
}
.snr-band-item { padding: 0 18px; text-align: center; }
.snr-band-item:not(:last-child) { border-right: 1px solid var(--snr-line); }
.snr-band-item .et_pb_blurb_content { max-width: none; text-align: center !important; }
.snr-band-item .et_pb_blurb_container,
.snr-band-item .et_pb_blurb_description,
.snr-band-item .et_pb_blurb_description p { text-align: center !important; }
.snr-band-item .et_pb_main_blurb_image { margin-bottom: 12px; }
.snr-band-item .et_pb_main_blurb_image img { width: 30px; height: 30px; }
.snr-band-item .et_pb_blurb_description p {
	font-size: 13.5px;
	line-height: 1.55;
	color: var(--snr-ink);
}

.snr-band-foot {
	display: flex !important;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	flex-wrap: wrap;
	border-top: 1px solid var(--snr-line);
	padding-top: 18px;
}
.snr-band-more .et_pb_text_inner a {
	display: inline-flex;
	align-items: center;
	gap: 9px;
	font-size: 14.5px;
	font-weight: 700;
	color: var(--snr-navy-soft);
	text-decoration: none;
}
.snr-band-more .et_pb_text_inner a:hover { text-decoration: underline; }
.snr-band-foot .et_pb_button_module_wrapper { margin: 0; }

/* --------------------------------------------------------------------------
   6. Built for the way attorneys work — the three-panel proof group
   -------------------------------------------------------------------------- */

.snr-proof { background: #fff; }
.snr-proof .et_pb_row { padding: 34px 0 40px; align-items: flex-start; }

.snr-proof-title h2 { font-size: 30px; line-height: 1.15; margin: 0 0 14px; }
.snr-proof-lede .et_pb_text_inner {
	font-size: 15.5px; line-height: 1.6; color: var(--snr-ink); margin-bottom: 22px;
}

/* Divi Icon List bullets.
   Divi renders the bullet as a glyph in <span class="et-pb-icon">. The mockup
   uses a ringed check, which the Divi icon font does not carry, so the glyph is
   suppressed and the span is masked with the site's own check-circle SVG.
   Because it is a mask rather than a background image, the bullet inherits
   `color` and so matches whichever accent the list belongs to. */
.snr-page .snr-icon-check .et-pb-icon {
	font-size: 0 !important;
	line-height: 0 !important;
	width: 18px !important;
	height: 18px !important;
	flex: 0 0 18px;
	background-color: currentColor;
	-webkit-mask: var(--snr-check-mask) no-repeat center / contain;
	mask: var(--snr-check-mask) no-repeat center / contain;
}

:root {
	--snr-check-mask: url("data:image/svg+xml;utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%3E%3Cpath%20fill-rule%3D%22evenodd%22%20d%3D%22M12%201.8a10.2%2010.2%200%201%200%200%2020.4%2010.2%2010.2%200%200%200%200-20.4zm0%201.9a8.3%208.3%200%201%201%200%2016.6%208.3%208.3%200%200%201%200-16.6zM16.4%208.6%2010.7%2014.4%207.6%2011.3l-1.4%201.4%204.5%204.5%207.1-7.2-1.4-1.4z%22%2F%3E%3C%2Fsvg%3E");
}

/* The five checkmark claims. */
.snr-check-list { margin: 0 !important; color: var(--snr-navy-deep); }
.snr-check-list li.et_pb_icon_list_item {
	display: flex !important; align-items: flex-start; gap: 12px;
	margin-bottom: 15px; padding: 0;
}
.snr-check-list .et_pb_icon_list_text {
	font-size: 15px; line-height: 1.45; color: var(--snr-ink); font-weight: 600;
}

/* --- the panel group ---------------------------------------------------- */

.snr-panels {
	display: grid !important;
	grid-template-columns: 1.12fr 1fr .96fr;
	gap: 14px;
	background: var(--snr-tint);
	border: 1px solid var(--snr-line);
	border-radius: var(--snr-radius);
	padding: 14px;
	align-items: stretch;
}

.snr-panels > .et_pb_code { display: flex !important; min-width: 0; }
.snr-panels > .et_pb_code > .et_pb_code_inner { display: flex; width: 100%; }

.snr-panel {
	width: 100%;
	background: #fff;
	border: 1px solid var(--snr-line);
	border-radius: 8px;
	padding: 14px 15px 15px;
	min-width: 0;
}
.snr-panel-head {
	display: flex; align-items: center; justify-content: space-between; gap: 10px;
	margin-bottom: 12px;
}
.snr-panel-title {
	font: 700 13px/1.3 var(--snr-sans);
	color: var(--snr-navy-ink);
	margin: 0;
	font-family: var(--snr-sans);
}
.snr-panel-title .snr-panel-sub { font-weight: 500; color: var(--snr-muted); }

.snr-chip {
	font: 600 11px/1 var(--snr-sans);
	color: var(--snr-navy-deep);
	border: 1px solid #C6D1E1;
	background: #fff;
	border-radius: 5px;
	padding: 6px 9px;
	white-space: nowrap;
	text-decoration: none;
	display: inline-block;
}

/* Panel 1 — document preview with signature block */
.snr-doc-body {
	border: 1px solid var(--snr-line-soft);
	border-radius: 6px;
	padding: 13px;
}
.snr-doc-lorem {
	font-size: 10.5px;
	line-height: 1.75;
	color: #A9B3C1;
	margin: 0 0 14px;
}
.snr-sigbox {
	border: 1px solid #B9C6D8;
	border-radius: 6px;
	padding: 11px 13px 13px;
	margin-bottom: 13px;
}
.snr-sigbox-label { font-size: 10.5px; color: var(--snr-muted); margin-bottom: 4px; }
.snr-sig-row { display: flex; align-items: flex-end; gap: 14px; }
.snr-sig-block { flex: 1 1 auto; min-width: 0; }
.snr-sig-name {
	flex: 1 1 auto;
	font-family: "Snell Roundhand", "Apple Chancery", "Segoe Script", "Brush Script MT", cursive;
	font-size: 23px;
	line-height: 1.1;
	color: #1A2A3E;
	border-bottom: 1px solid #8FA0B6;
	padding-bottom: 3px;
}
.snr-sig-date { flex: 0 0 92px; }
.snr-sig-date .snr-sig-value {
	font-size: 11px; color: #1A2A3E;
	border-bottom: 1px solid #8FA0B6; padding-bottom: 4px;
}
.snr-field-caption { font-size: 10px; color: var(--snr-muted); margin-top: 4px; }

.snr-consent { display: flex; gap: 9px; align-items: flex-start; margin-bottom: 13px; }
.snr-consent-box {
	flex: 0 0 15px; width: 15px; height: 15px; margin-top: 1px;
	background: var(--snr-navy-deep); border-radius: 3px;
	display: flex; align-items: center; justify-content: center;
}
.snr-consent-text { font-size: 10.5px; line-height: 1.55; color: var(--snr-ink); }

.snr-namedate { display: flex; gap: 14px; }
.snr-namedate > div { flex: 1 1 0; }
.snr-namedate .snr-sig-value {
	font-size: 11px; color: #1A2A3E;
	border-bottom: 1px solid #8FA0B6; padding-bottom: 4px;
}

.snr-status-bar {
	display: flex; align-items: center; gap: 9px;
	margin-top: 12px;
	background: #F1F6F1;
	border: 1px solid #CFE0CF;
	border-radius: 6px;
	padding: 9px 11px;
	font-size: 11.5px;
	font-weight: 700;
	color: #1E4A24;
}

/* Panel 2 — append-only audit log timeline */
.snr-timeline { list-style: none; margin: 0; padding: 0 0 0 4px; position: relative; }
.snr-timeline > li {
	position: relative;
	padding: 0 0 16px 34px;
	list-style: none;
}
.snr-timeline > li::before {
	content: "";
	position: absolute;
	left: 11px; top: 24px; bottom: 0;
	width: 1px;
	background: var(--snr-line);
}
.snr-timeline > li:last-child { padding-bottom: 0; }
.snr-timeline > li:last-child::before { display: none; }

.snr-tl-dot {
	position: absolute; left: 0; top: 0;
	width: 23px; height: 23px; border-radius: 50%;
	display: flex; align-items: center; justify-content: center;
	background: #fff;
	border: 1.5px solid currentColor;
}
.snr-tl-sent    { color: var(--snr-amber); }
.snr-tl-viewed  { color: var(--snr-amber); }
.snr-tl-signed  { color: var(--snr-green-soft); }
.snr-tl-done    { color: var(--snr-green-soft); }

.snr-tl-time { font-size: 11px; color: var(--snr-ink); margin-bottom: 2px; }
.snr-tl-what { font-size: 11.5px; color: var(--snr-navy-ink); font-weight: 600; line-height: 1.4; }
.snr-tl-meta { font-size: 10.5px; color: var(--snr-muted); margin-top: 2px; }
.snr-tl-actor { font-size: 10.5px; color: var(--snr-amber); margin-top: 2px; font-weight: 600; }
.snr-tl-label {
	display: inline-block;
	font-size: 9.5px;
	font-weight: 800;
	letter-spacing: .06em;
	text-transform: uppercase;
	margin-top: 4px;
	padding: 2px 6px;
	border-radius: 3px;
	border: 1px solid currentColor;
}

/* Panel 3 — certificate of completion */
.snr-cert { text-align: left; }
.snr-cert-crest { text-align: center; margin-bottom: 6px; }
.snr-cert-title {
	font-family: var(--snr-serif);
	font-size: 17px;
	text-align: center;
	color: var(--snr-navy-ink);
	margin: 0 0 14px;
}
.snr-cert-rows { margin-bottom: 13px; }
.snr-cert-row { display: flex; gap: 8px; font-size: 10.5px; line-height: 1.7; }
.snr-cert-key { flex: 0 0 74px; color: var(--snr-muted); }
.snr-cert-val { flex: 1 1 auto; color: var(--snr-navy-ink); font-weight: 600; min-width: 0; overflow-wrap: anywhere; }

.snr-cert-hash-label { font-size: 11px; font-weight: 800; color: var(--snr-navy-ink); margin-bottom: 5px; }
.snr-cert-hash {
	font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
	font-size: 10px;
	line-height: 1.7;
	color: var(--snr-ink);
	overflow-wrap: anywhere;
	margin-bottom: 13px;
}

.snr-cert-verify {
	display: flex; gap: 11px; align-items: flex-start;
	background: var(--snr-tint);
	border: 1px solid var(--snr-line);
	border-radius: 6px;
	padding: 11px 12px;
}
.snr-cert-verify p { font-size: 10.5px; line-height: 1.55; color: var(--snr-ink); margin: 0 0 6px; }
.snr-cert-verify a { font-size: 10.5px; font-weight: 700; color: var(--snr-navy-soft); }

/* --------------------------------------------------------------------------
   7. What Sign and Return isn't
   -------------------------------------------------------------------------- */

.snr-isnt { background: var(--snr-cream); border-top: 1px solid #EADFCE; border-bottom: 1px solid #EADFCE; }
.snr-isnt .et_pb_row { padding: 24px 0; }

.snr-isnt-block .et_pb_blurb_content { max-width: none; display: flex !important; gap: 26px; align-items: center; }
.snr-isnt-block .et_pb_main_blurb_image { margin: 0; flex: 0 0 74px; }
.snr-isnt-block .et_pb_main_blurb_image .et_pb_image_wrap {
	display: flex; align-items: center; justify-content: center;
	width: 74px; height: 74px; border-radius: 50%;
	border: 2px solid var(--snr-bronze);
}
.snr-isnt-block .et_pb_main_blurb_image img { width: 40px; height: 40px; }
.snr-isnt-block .et_pb_blurb_container { padding: 0; }
.snr-isnt-block .et_pb_module_header { font-size: 20px; margin-bottom: 7px; }
.snr-isnt-block .et_pb_blurb_description p { font-size: 14.5px; line-height: 1.65; color: var(--snr-ink); }

/* --------------------------------------------------------------------------
   8. Pricing / waitlist
   -------------------------------------------------------------------------- */

.snr-pricing { background: #fff; }
.snr-pricing .snr-pricing-headrow { padding: 34px 0 22px; text-align: center; }
.snr-pricing .snr-pricing-cardrow { padding: 0 0 12px; align-items: stretch; }
.snr-pricing .snr-pricing-footrow { padding: 0 0 34px; }

.snr-pricing-title h2 { font-size: 27px; margin: 0 0 6px; }
.snr-pricing-sub .et_pb_text_inner { font-size: 15.5px; color: var(--snr-ink); text-align: center !important; }
.snr-pricing-title h2 { text-align: center !important; }

.snr-plan {
	display: flex !important;
	border-radius: var(--snr-radius);
	border: 1px solid var(--snr-line);
	padding: 22px 24px 24px;
	height: 100%;
	display: flex;
	flex-direction: column;
}
.snr-plan-solo { background: var(--snr-tint); border-color: #DCE3EE; }
.snr-plan-firm { background: var(--snr-tint-green); border-color: #DDE5DC; }

.snr-plan-head {
	display: flex !important;
	align-items: flex-start;
	justify-content: space-between;
	gap: 18px;
	margin-bottom: 20px;
}
.snr-plan-id { flex: 1 1 auto; }
.snr-plan-id .et_pb_blurb_content { max-width: none; display: flex !important; gap: 16px; align-items: center; }
.snr-plan-id .et_pb_main_blurb_image { margin: 0; flex: 0 0 52px; }
.snr-plan-id .et_pb_main_blurb_image .et_pb_image_wrap {
	display: flex; align-items: center; justify-content: center;
	width: 52px; height: 52px; border-radius: 50%;
}
.snr-plan-solo .et_pb_main_blurb_image .et_pb_image_wrap { background: var(--snr-navy-deep); }
.snr-plan-firm .et_pb_main_blurb_image .et_pb_image_wrap { background: var(--snr-green); }
.snr-plan-id .et_pb_main_blurb_image img { width: 27px; height: 27px; }
.snr-plan-id .et_pb_blurb_container { padding: 0; }
.snr-plan-id .et_pb_module_header { font-size: 22px; margin-bottom: 2px; }
.snr-plan-solo .et_pb_module_header { color: var(--snr-navy-deep); }
.snr-plan-firm .et_pb_module_header { color: var(--snr-green); }
.snr-plan-id .et_pb_blurb_description p { font-size: 13.5px; color: var(--snr-ink); }

.snr-plan-price { flex: 0 0 auto; text-align: right; }
.snr-plan-price .et_pb_text_inner { font-size: inherit; }
.snr-price-around { font-size: 12px; color: var(--snr-muted); display: block; }
.snr-price-figure { font-family: var(--snr-serif); font-size: 25px; font-weight: 700; }
.snr-plan-solo .snr-price-figure { color: var(--snr-navy-deep); }
.snr-plan-firm .snr-price-figure { color: var(--snr-green); }
.snr-price-per { font-size: 12.5px; color: var(--snr-ink); }
.snr-price-note { display: block; font-size: 11.5px; color: var(--snr-muted); margin-top: 2px; }

.snr-plan-features { margin: 0 0 20px !important; flex: 0 0 auto; }
.snr-plan-solo .snr-plan-features { color: var(--snr-navy-deep); }
.snr-plan-firm .snr-plan-features { color: var(--snr-green); }
.snr-plan-features li.et_pb_icon_list_item {
	display: flex !important; align-items: center; gap: 11px; margin-bottom: 11px; padding: 0;
}
.snr-plan-features .et_pb_icon_list_text { font-size: 14px; color: var(--snr-ink); }

.snr-plan .et_pb_button_module_wrapper { margin: auto 0 0 !important; }
.snr-plan .et_pb_button { width: 100%; justify-content: center; }

.snr-pricing-foot .et_pb_text_inner {
	display: flex !important; align-items: center; justify-content: center; gap: 9px;
	font-size: 13px; color: var(--snr-muted); margin-top: 16px;
}

/* --------------------------------------------------------------------------
   9. Footer
   -------------------------------------------------------------------------- */

.snr-footer { background: var(--snr-navy-deep); }
.snr-footer .et_pb_row { padding: 40px 0 44px; }

.snr-foot-col .et_pb_blurb_content { max-width: none; display: flex !important; gap: 20px; align-items: flex-start; }
.snr-foot-col .et_pb_main_blurb_image { margin: 0; flex: 0 0 44px; }
.snr-foot-col .et_pb_main_blurb_image img { width: 44px; height: 44px; }
.snr-foot-col .et_pb_blurb_container { padding: 0; }
.snr-foot-col .et_pb_module_header {
	font-size: 18.5px; color: #fff; margin-bottom: 9px; line-height: 1.25;
}
.snr-foot-col .et_pb_blurb_description p {
	font-size: 13.5px; line-height: 1.75; color: #C7D5E8;
}

/* --------------------------------------------------------------------------
   Waitlist modals
   -------------------------------------------------------------------------- */

.snr-modal[hidden] { display: none; }
.snr-modal {
	position: fixed;
	inset: 0;
	z-index: 100000;
	display: flex;
	align-items: flex-start;
	justify-content: center;
	padding: 5vh 16px;
	overflow-y: auto;
	overscroll-behavior: contain;
	background: rgba(6, 22, 44, .62);
}
.snr-modal-panel {
	position: relative;
	background: #fff;
	border-radius: 12px;
	width: 100%;
	max-width: 560px;
	padding: 26px 28px 30px;
	box-shadow: 0 24px 60px rgba(2, 20, 44, .38);
}
.snr-modal-head { display: flex; gap: 16px; align-items: flex-start; margin-bottom: 6px; padding-right: 40px; }
.snr-modal-title { font-family: var(--snr-serif); font-size: 23px; color: var(--snr-navy-ink); margin: 0 0 5px; }
.snr-modal-sub { font-size: 14px; color: var(--snr-muted); margin: 0 0 18px; line-height: 1.55; }
.snr-modal-close {
	position: absolute;
	top: 14px; right: 14px;
	width: 36px; height: 36px;
	border-radius: 6px;
	border: 1px solid var(--snr-line);
	background: #fff;
	color: var(--snr-navy-ink);
	font-size: 21px;
	line-height: 1;
	cursor: pointer;
}
.snr-modal-close:hover { background: var(--snr-tint); }

/* Gravity Forms inside the modal.
   GF 2.9 styles its own controls from CSS custom properties declared in an
   inline, scoped <style> block. Re-pointing the tokens is what actually
   changes the submit button; the rules below then handle the rest. */
.snr-modal .gform-theme,
.snr-modal .gform_wrapper,
.snr-modal .gform_confirmation_wrapper {
	--gf-color-primary: #02244C;
	--gf-color-primary-rgb: 2, 36, 76;
	--gf-color-primary-contrast: #fff;
	--gf-color-primary-contrast-rgb: 255, 255, 255;
	--gf-color-primary-darker: #051f40;
	--gf-color-primary-lighter: #2E5285;
	--gf-ctrl-btn-bg-color-primary: #02244C;
	--gf-ctrl-btn-bg-color-hover-primary: #051f40;
	--gf-ctrl-btn-border-color-primary: #02244C;
	--gf-ctrl-btn-color-primary: #fff;
}
.snr-modal .gform_wrapper { margin: 0; }
.snr-modal .gform_wrapper .gform_fields { display: grid; grid-template-columns: 1fr; gap: 15px; }
.snr-modal .gform_wrapper .gfield_label {
	font: 700 13.5px/1.4 var(--snr-sans);
	color: var(--snr-navy-ink);
	margin-bottom: 6px;
	display: block;
}
.snr-modal .gform_wrapper input[type=text],
.snr-modal .gform_wrapper input[type=email],
.snr-modal .gform_wrapper select {
	width: 100% !important;
	box-sizing: border-box;
	font-family: var(--snr-sans);
	font-size: 15px;
	line-height: 1.4;
	/* GF ships a fixed control height that crops the descenders on the
	   select's own text; let the padding define the box instead. */
	height: auto !important;
	min-height: 46px;
	padding: 11px 12px !important;
	border: 1px solid #C3CEDE;
	border-radius: 6px;
	background: #fff;
	color: var(--snr-ink);
}
.snr-modal .gform_wrapper select {
	appearance: none;
	-webkit-appearance: none;
	padding-right: 34px !important;
	background-image: url("data:image/svg+xml;utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22%235A6B80%22%3E%3Cpath%20d%3D%22M6%209l6%206%206-6z%22%2F%3E%3C%2Fsvg%3E");
	background-repeat: no-repeat;
	background-position: right 9px center;
	background-size: 18px 18px;
}
.snr-modal .gform_wrapper .gfield_radio { display: flex; gap: 20px; flex-wrap: wrap; }
.snr-modal .gform_wrapper .gchoice { display: flex; align-items: center; gap: 7px; }
.snr-modal .gform_wrapper .gchoice label { font-size: 14.5px; color: var(--snr-ink); }
.snr-modal .gform_wrapper .gform_footer { margin: 20px 0 0; padding: 0; }
.snr-modal .gform_wrapper .gform_button,
.snr-modal .gform_wrapper .gform_button.button,
.snr-modal .gform_wrapper input[type=submit] {
	background: var(--snr-navy-deep) !important;
	border-color: var(--snr-navy-deep) !important;
	color: #fff !important;
	color: #fff;
	border: 0;
	border-radius: 6px;
	font: 700 15px/1.2 var(--snr-sans);
	padding: 14px 22px;
	cursor: pointer;
	width: 100% !important;
}
.snr-modal .gform_wrapper .gform_button:hover,
.snr-modal .gform_wrapper input[type=submit]:hover { background: #051f40 !important; }
.snr-modal .gform_wrapper .gfield_required { color: #A8321B; }
.snr-modal .gform_wrapper .validation_message,
.snr-modal .gform_wrapper .gform_validation_errors {
	font-size: 13px;
	color: #8A2716;
	background: #FCF1EE;
	border: 1px solid #E9C3B9;
	border-radius: 5px;
	padding: 8px 10px;
	margin-top: 6px;
}
.snr-modal .gform_confirmation_message {
	font-size: 15.5px;
	line-height: 1.6;
	color: var(--snr-ink);
	background: #F1F6F1;
	border: 1px solid #CFE0CF;
	border-radius: 8px;
	padding: 18px 20px;
}
body.snr-modal-open { overflow: hidden; }

/* --------------------------------------------------------------------------
   Responsive — 980px (tablet), 767px, 480px
   -------------------------------------------------------------------------- */

@media (max-width: 1100px) {
	.snr-hero-title h1 { font-size: 44px; }
	.snr-nav-menu { gap: 20px; }
	.snr-brand-tag { display: none; }
	.snr-band-photo { flex: 0 0 195px; }
}

@media (max-width: 980px) {
	/* Divi stacks columns here; make sure our own flex rows follow. */
	.snr-page .et_pb_column { width: 100% !important; margin-bottom: 0 !important; }

	.snr-hero .et_pb_row { padding: 34px 0 32px; }
	.snr-hero-title h1 { font-size: 40px; }
	.snr-hero-media { margin-top: 32px; }
	.snr-hero-badge { width: 92px; top: -10px; right: 0; }

	.snr-benefits .et_pb_row { padding-bottom: 34px; }
	.snr-benefit { padding: 22px 14px; }
	.snr-benefits .et_pb_column:not(:last-child) .snr-benefit {
		border-right: 0;
		border-bottom: 1px solid var(--snr-line-soft);
	}

	.snr-band-inner { flex-direction: column; }
	.snr-band-photo { flex: 0 0 auto; }
	.snr-band-photo img { height: 190px; border-radius: 8px 8px 0 0; }
	.snr-band-items { grid-template-columns: repeat(2, 1fr); gap: 20px 0; }
	.snr-band-item:nth-child(2n) { border-right: 0; }
	.snr-band-head .et_pb_module_header { font-size: 25px; }

	/* The proof panels stack rather than shrink. */
	.snr-panels { grid-template-columns: 1fr; }
	.snr-proof-side { margin-bottom: 28px; }

	.snr-plan { margin-bottom: 16px; }
}

/* The horizontal nav overflows just under 800px, so the collapsed menu
   takes over from 900px down — comfortably before it can clip. */
@media (max-width: 900px) {
	.snr-nav { flex-wrap: wrap; gap: 12px; padding: 12px 0; }
	.snr-nav-toggle { display: inline-flex; }
	.snr-nav-menu {
		display: none;
		flex-direction: column;
		align-items: stretch;
		gap: 0;
		width: 100%;
		border-top: 1px solid var(--snr-line);
		padding-top: 6px;
	}
	.snr-nav-menu.is-open { display: flex; }
	.snr-nav-menu a:not(.snr-btn) { padding: 13px 2px; border-bottom: 1px solid var(--snr-line-soft); }
	.snr-nav-menu .snr-btn { margin: 12px 0 6px; justify-content: center; }
	.snr-brand-name { font-size: 22px; }
	.snr-brand-tag { display: none; }
}

@media (max-width: 980px) {
	/* Band photos become full-width banners once the band stacks. */
	.snr-band-photo { width: 100%; }
}

@media (max-width: 767px) {
	.snr-hero-title h1 { font-size: 33px; }
	.snr-hero-lede .et_pb_text_inner { font-size: 16px; }
	.snr-hero-ctas { gap: 18px; }
	.snr-hero-ctas .et_pb_button_module_wrapper,
	.snr-hero-ctas .snr-hero-secondary { width: 100%; }
	.snr-hero-ctas .et_pb_button { width: 100%; justify-content: center; }
	.snr-hero-callout { width: 100%; margin-top: -20px !important; }
	.snr-hero-badge { width: 78px; top: -8px; right: 4px; }

	.snr-rule-heading h2 { font-size: 23px; white-space: normal; }
	.snr-rule-heading h2::before, .snr-rule-heading h2::after { display: none; }

	.snr-band .et_pb_row { padding: 8px 0; }
	.snr-band-body { padding: 20px 18px; }
	.snr-band-items { grid-template-columns: 1fr; gap: 22px 0; }
	.snr-band-item { border-right: 0 !important; padding: 0; }
	.snr-band-item:not(:last-child) { border-bottom: 1px solid var(--snr-line); padding-bottom: 20px; }
	.snr-band-head .et_pb_module_header { font-size: 22px; }
	.snr-band-foot { flex-direction: column; align-items: stretch; }
	.snr-band-foot .et_pb_button { width: 100%; justify-content: center; }

	.snr-proof .et_pb_row { padding: 28px 0 32px; }
	.snr-proof-title h2 { font-size: 26px; }
	.snr-panels { padding: 10px; gap: 10px; }
	.snr-panel { padding: 14px; }

	.snr-isnt-block .et_pb_blurb_content { flex-direction: column; align-items: flex-start; gap: 14px; }

	.snr-plan-head { flex-direction: column; gap: 14px; }
	.snr-plan-price { text-align: left; }

	.snr-foot-col { margin-bottom: 32px; }
	.snr-footer .et_pb_column:last-child .snr-foot-col { margin-bottom: 8px; }
	.snr-footer .et_pb_row { padding: 34px 0 24px; }

	.snr-modal { padding: 0; align-items: stretch; }
	.snr-modal-panel { border-radius: 0; max-width: none; min-height: 100%; padding: 22px 18px 40px; }
}

@media (max-width: 480px) {
	.snr-hero-title h1 { font-size: 29px; }
	.snr-sig-row { flex-direction: column; align-items: stretch; gap: 12px; }
	.snr-sig-date { flex: 1 1 auto; }
	.snr-namedate { flex-direction: column; gap: 12px; }
	.snr-cert-row { flex-direction: column; gap: 0; }
	.snr-cert-key { flex: none; }
	.snr-panel-head { flex-direction: column; align-items: flex-start; }
}

/* Respect reduced-motion preferences. */
@media (prefers-reduced-motion: reduce) {
	.snr-page *, .snr-page *::before, .snr-page *::after {
		animation-duration: .001ms !important;
		transition-duration: .001ms !important;
	}
}
