/*
Theme Name:   Rated To
Theme URI:    https://ratedto.com
Description:  Child theme for Rated To. Brand tokens, editorial typography and the spec-callout system used across buying guides.
Author:       Rated To
Template:     generatepress
Version:      1.1.0
Text Domain:  rated-to
*/

/* Note: CSS classes keep the historic `ks-` prefix. It is purely internal and
   renaming it would mean rewriting every stored post body for no visible gain.
   Read it as "king-sized" in origin only. */

/* ==========================================================================
   1. Brand tokens
   Contrast ratios noted against the surface they are designed to sit on.
   ========================================================================== */

:root {
	/* Ink */
	--ks-ink:            #0E1821; /* headings            16.1:1 on white */
	--ks-body:           #39434E; /* body copy            8.4:1 on white */
	--ks-muted:          #5F6B77; /* meta, captions       4.9:1 on white */

	/* Surfaces */
	--ks-bg:             #FFFFFF;
	--ks-bg-alt:         #F4F7F9;
	--ks-navy:           #11212F; /* header / footer */
	--ks-navy-soft:      #1C3346;

	/* Lines */
	--ks-line:           #DBE1E7;
	--ks-line-strong:    #C3CCD5;

	/* Accent — amber. Signals action; used sparingly so it keeps its force. */
	--ks-accent:         #B45309; /* links + buttons      4.9:1 on white */
	--ks-accent-hv:      #8A3F07;
	--ks-accent-bright:  #F0A93B; /* accent on navy       8.2:1 on navy  */
	--ks-accent-wash:    #FDF6EC;

	/* Spec system — teal reads as "measured", not as a warning */
	--ks-spec:           #0F766E;
	--ks-spec-wash:      #EDF7F5;
	--ks-spec-line:      #BFE0DB;

	/* Typography */
	--ks-sans: "Inter var", "Inter", system-ui, -apple-system, "Segoe UI", Roboto,
	           "Helvetica Neue", Arial, "Noto Sans", sans-serif;
	--ks-mono: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace;

	--ks-text:    1.125rem;  /* 18px floor, per the brief */
	--ks-lh:      1.7;
	--ks-measure: 68ch;

	/* Rhythm */
	--ks-gap:      1.5rem;
	--ks-block:    2.5rem;
	--ks-section:  clamp(3rem, 7vw, 5.5rem);
	--ks-radius:   10px;

	--ks-shadow: 0 1px 2px rgba(14, 24, 33, .05),
	             0 4px 16px rgba(14, 24, 33, .06);
}

/* ==========================================================================
   2. Base typography
   ========================================================================== */

body {
	font-family: var(--ks-sans);
	font-size: var(--ks-text);
	line-height: var(--ks-lh);
	color: var(--ks-body);
	background: var(--ks-bg);
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
}

h1, h2, h3, h4, h5, h6,
.entry-title {
	font-family: var(--ks-sans);
	color: var(--ks-ink);
	font-weight: 800;
	letter-spacing: -0.022em;
	line-height: 1.15;
	text-wrap: balance;
}

h1, .entry-title { font-size: clamp(2.125rem, 5vw, 3.125rem); margin-bottom: .6em; }
h2 { font-size: clamp(1.625rem, 3.4vw, 2.125rem); margin-top: 2.2em; margin-bottom: .55em; }
h3 { font-size: clamp(1.3rem, 2.4vw, 1.5rem);    margin-top: 1.9em; margin-bottom: .5em; }
h4 { font-size: 1.15rem; margin-top: 1.7em; margin-bottom: .45em; letter-spacing: -0.012em; }

/* First heading in a flow should not push a big gap against the title. */
.entry-content > h2:first-child,
.entry-content > h3:first-child { margin-top: 0; }

p, ul, ol { margin-bottom: 1.35em; }

/* Keep prose readable without constraining full-width blocks. */
.entry-content > p,
.entry-content > ul,
.entry-content > ol,
.entry-content > h2,
.entry-content > h3,
.entry-content > h4,
.entry-content > blockquote {
	max-width: var(--ks-measure);
}

.entry-content li { margin-bottom: .5em; }
.entry-content li > ul,
.entry-content li > ol { margin-top: .5em; }

strong, b { font-weight: 700; color: var(--ks-ink); }

a {
	color: var(--ks-accent);
	text-decoration: underline;
	text-decoration-thickness: 1.5px;
	text-underline-offset: 2.5px;
	text-decoration-color: color-mix(in srgb, var(--ks-accent) 38%, transparent);
	transition: color .14s ease, text-decoration-color .14s ease;
}
a:hover,
a:focus-visible {
	color: var(--ks-accent-hv);
	text-decoration-color: currentColor;
}

/* Visible keyboard focus everywhere — large tap/focus targets are a brief requirement. */
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
[tabindex]:focus-visible {
	outline: 3px solid var(--ks-accent);
	outline-offset: 2px;
	border-radius: 3px;
}

blockquote {
	border-left: 4px solid var(--ks-accent);
	padding: .3rem 0 .3rem 1.4rem;
	margin: var(--ks-block) 0;
	font-size: 1.1875rem;
	color: var(--ks-ink);
	font-style: normal;
}

figcaption,
.wp-element-caption {
	font-size: .9375rem;
	color: var(--ks-muted);
	margin-top: .6rem;
	line-height: 1.5;
}

img { height: auto; }

/* ==========================================================================
   3. Layout shell
   ========================================================================== */

.site-content { padding-top: 0; }

.entry-content > * + * { margin-top: 0; }

/* Generous whitespace between major page sections. */
.ks-section { padding-block: var(--ks-section); }
.ks-section--alt { background: var(--ks-bg-alt); }

/* ==========================================================================
   4. Header + navigation
   ========================================================================== */

.site-header {
	background: var(--ks-navy);
	border-bottom: 1px solid rgba(255, 255, 255, .08);
}

/* GeneratePress renders the title as .main-title, not .site-title. */
.site-header .main-title,
.site-header .main-title a,
.site-header .site-title,
.site-header .site-title a {
	color: #FFFFFF;
	font-weight: 800;
	letter-spacing: -0.03em;
	font-size: 1.5rem;
	line-height: 1.2;
	text-decoration: none;
}
.site-header .main-title a:hover { color: var(--ks-accent-bright); }

.site-header .site-description {
	color: rgba(255, 255, 255, .72);
	font-size: .9375rem;
	letter-spacing: 0;
	margin-top: .15rem;
}

.main-navigation,
.main-navigation .main-nav ul li a {
	background: var(--ks-navy);
	color: rgba(255, 255, 255, .88);
}

.main-navigation .main-nav ul li a {
	font-weight: 600;
	font-size: 1rem;
	letter-spacing: -0.005em;
	text-decoration: none;
	/* Large tap targets. */
	padding-inline: 1.1rem;
	min-height: 56px;
	display: flex;
	align-items: center;
}

.main-navigation .main-nav ul li:hover > a,
.main-navigation .main-nav ul li:focus-within > a,
.main-navigation .main-nav ul li.current-menu-item > a {
	background: var(--ks-navy-soft);
	color: #FFFFFF;
}

.main-navigation .main-nav ul li.current-menu-item > a {
	box-shadow: inset 0 -3px 0 var(--ks-accent-bright);
}

.main-navigation .menu-toggle {
	color: #FFFFFF;
	font-weight: 600;
	min-height: 56px;
}

.main-navigation ul ul {
	background: var(--ks-navy-soft);
	box-shadow: var(--ks-shadow);
}

/* ==========================================================================
   5. Buttons
   ========================================================================== */

.ks-btn,
.wp-block-button__link,
.wp-block-button .wp-block-button__link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: .55rem;
	background: var(--ks-accent);
	color: #FFFFFF !important;
	font-weight: 700;
	font-size: 1.0625rem;
	letter-spacing: -0.005em;
	text-decoration: none;
	padding: .95rem 1.6rem;   /* comfortably over the 44px tap-target floor */
	min-height: 52px;
	border: 0;
	border-radius: var(--ks-radius);
	transition: background .15s ease, transform .08s ease;
}

.ks-btn:hover,
.wp-block-button__link:hover {
	background: var(--ks-accent-hv);
	color: #FFFFFF !important;
	text-decoration: none;
}
.ks-btn:active,
.wp-block-button__link:active { transform: translateY(1px); }

/* Secondary — outlined, for the lower-priority action. */
.ks-btn--ghost,
.is-style-outline .wp-block-button__link {
	background: transparent;
	color: var(--ks-ink) !important;
	border: 2px solid var(--ks-line-strong);
}
.ks-btn--ghost:hover,
.is-style-outline .wp-block-button__link:hover {
	background: var(--ks-bg-alt);
	border-color: var(--ks-ink);
	color: var(--ks-ink) !important;
}

/* On the navy hero, the ghost button needs light treatment. */
.ks-hero .ks-btn--ghost {
	color: #FFFFFF !important;
	border-color: rgba(255, 255, 255, .45);
}
.ks-hero .ks-btn--ghost:hover {
	background: rgba(255, 255, 255, .1);
	border-color: #FFFFFF;
	color: #FFFFFF !important;
}

/* ==========================================================================
   6. Hero
   ========================================================================== */

.ks-hero {
	background:
		radial-gradient(120% 140% at 85% 0%, var(--ks-navy-soft) 0%, transparent 60%),
		var(--ks-navy);
	color: #FFFFFF;
	padding-block: clamp(3.5rem, 9vw, 6.5rem);
}

.ks-hero h1,
.ks-hero .ks-hero__title {
	color: #FFFFFF;
	font-size: clamp(2.375rem, 6vw, 4rem);
	letter-spacing: -0.035em;
	margin-bottom: .45em;
	max-width: 16ch;
}

.ks-hero__sub {
	color: rgba(255, 255, 255, .86);
	font-size: clamp(1.125rem, 2.1vw, 1.3125rem);
	line-height: 1.6;
	max-width: 56ch;
	margin-bottom: 2rem;
}

.ks-hero__actions {
	display: flex;
	flex-wrap: wrap;
	gap: .875rem;
}

/* ==========================================================================
   7. Spec callout — the recurring visual element
   ========================================================================== */

.ks-spec {
	position: relative;
	background: var(--ks-spec-wash);
	border: 1px solid var(--ks-spec-line);
	border-left: 5px solid var(--ks-spec);
	border-radius: var(--ks-radius);
	padding: 1.4rem 1.5rem 1.25rem;
	margin: var(--ks-block) 0;
	max-width: none;
}

.ks-spec__label {
	display: inline-flex;
	align-items: center;
	gap: .4rem;
	font-size: .75rem;
	font-weight: 800;
	letter-spacing: .09em;
	text-transform: uppercase;
	color: var(--ks-spec);
	margin-bottom: .9rem;
}

.ks-spec__grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
	gap: .85rem 1.75rem;
	margin: 0;
}

.ks-spec__row {
	display: flex;
	flex-direction: column;
	gap: .15rem;
	padding-bottom: .7rem;
	border-bottom: 1px solid var(--ks-spec-line);
}

.ks-spec__key {
	font-size: .8125rem;
	font-weight: 700;
	letter-spacing: .04em;
	text-transform: uppercase;
	color: var(--ks-muted);
}

.ks-spec__val {
	font-size: 1.1875rem;
	font-weight: 700;
	color: var(--ks-ink);
	font-variant-numeric: tabular-nums;
	line-height: 1.3;
}

/* Source line — never ship a spec without one. */
.ks-spec__src {
	margin: 1rem 0 0;
	font-size: .875rem;
	line-height: 1.55;
	color: var(--ks-muted);
}
.ks-spec__src a { color: var(--ks-spec); }

/* ==========================================================================
   8. Verdict / key-takeaway box
   ========================================================================== */

.ks-verdict {
	background: var(--ks-bg-alt);
	border: 1px solid var(--ks-line);
	border-radius: var(--ks-radius);
	padding: 1.5rem 1.625rem;
	margin: var(--ks-block) 0;
}
.ks-verdict__label {
	font-size: .75rem;
	font-weight: 800;
	letter-spacing: .09em;
	text-transform: uppercase;
	color: var(--ks-accent);
	margin-bottom: .6rem;
	display: block;
}
.ks-verdict p:last-child { margin-bottom: 0; }
.ks-verdict p { max-width: none; }

/* ==========================================================================
   9. Affiliate disclosure block
   ========================================================================== */

.ks-disclosure {
	display: flex;
	gap: .85rem;
	align-items: flex-start;
	background: var(--ks-accent-wash);
	border: 1px solid #F0DFC4;
	border-radius: var(--ks-radius);
	padding: .9rem 1.1rem;
	margin: 0 0 var(--ks-block);
	font-size: .9375rem;
	line-height: 1.55;
	color: #6B4A18;
	max-width: none;
}
.ks-disclosure p { margin: 0; max-width: none; }
.ks-disclosure a { color: #8A3F07; }

/* ==========================================================================
   10. Comparison tables
   ========================================================================== */

.entry-content .wp-block-table,
.ks-table-wrap {
	margin: var(--ks-block) 0;
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
	border: 1px solid var(--ks-line);
	border-radius: var(--ks-radius);
	max-width: none;
}

.entry-content table {
	width: 100%;
	border-collapse: collapse;
	font-size: 1rem;
	margin: 0;
	border: 0;
	min-width: 560px;
}

.entry-content thead th {
	background: var(--ks-navy);
	color: #FFFFFF;
	font-weight: 700;
	font-size: .8125rem;
	letter-spacing: .05em;
	text-transform: uppercase;
	text-align: left;
	padding: .9rem 1rem;
	border: 0;
	white-space: nowrap;
}

.entry-content tbody td,
.entry-content tbody th {
	padding: .9rem 1rem;
	border: 0;
	border-bottom: 1px solid var(--ks-line);
	vertical-align: top;
	font-variant-numeric: tabular-nums;
}

.entry-content tbody tr:nth-child(even) { background: var(--ks-bg-alt); }
.entry-content tbody tr:last-child td { border-bottom: 0; }
.entry-content tbody td:first-child { font-weight: 700; color: var(--ks-ink); }

.entry-content .wp-block-table figcaption { padding: 0 0 .25rem; }

/* ==========================================================================
   11. Topic cards
   ========================================================================== */

.ks-cards {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
	gap: 1.125rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

/* Six topics read better as 3x2 than as 4+2. */
@media (min-width: 900px) {
	.ks-cards { grid-template-columns: repeat(3, 1fr); }
}

.ks-card {
	display: flex;
	flex-direction: column;
	gap: .4rem;
	background: var(--ks-bg);
	border: 1px solid var(--ks-line);
	border-radius: var(--ks-radius);
	padding: 1.4rem 1.4rem 1.5rem;
	text-decoration: none;
	color: var(--ks-body);
	transition: border-color .15s ease, box-shadow .15s ease, transform .15s ease;
	min-height: 128px;
}

.ks-card:hover,
.ks-card:focus-visible {
	border-color: var(--ks-line-strong);
	box-shadow: var(--ks-shadow);
	transform: translateY(-2px);
	text-decoration: none;
}

.ks-card__title {
	font-size: 1.1875rem;
	font-weight: 800;
	color: var(--ks-ink);
	letter-spacing: -0.015em;
	line-height: 1.25;
}

.ks-card__desc {
	font-size: .9375rem;
	color: var(--ks-muted);
	line-height: 1.5;
}

.ks-card__more {
	margin-top: auto;
	padding-top: .8rem;
	font-size: .875rem;
	font-weight: 700;
	color: var(--ks-accent);
	letter-spacing: -0.005em;
}

/* ==========================================================================
   12. "Start here" router list
   ========================================================================== */

.ks-router { display: grid; gap: .75rem; margin: var(--ks-block) 0; max-width: none; }

.ks-router__item {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	background: var(--ks-bg);
	border: 1px solid var(--ks-line);
	border-left: 4px solid var(--ks-accent);
	border-radius: var(--ks-radius);
	padding: 1.1rem 1.3rem;
	text-decoration: none;
	font-weight: 700;
	font-size: 1.0625rem;
	color: var(--ks-ink);
	min-height: 60px;
	transition: background .15s ease, border-color .15s ease;
}
.ks-router__item:hover {
	background: var(--ks-bg-alt);
	border-left-color: var(--ks-accent-hv);
	text-decoration: none;
	color: var(--ks-ink);
}
.ks-router__item::after {
	content: "\2192";
	color: var(--ks-accent);
	font-weight: 700;
	flex: none;
}

/* ==========================================================================
   13. Post meta, archives, entry cards
   ========================================================================== */

.entry-meta {
	font-size: .9375rem;
	color: var(--ks-muted);
}
.entry-meta a { color: var(--ks-muted); text-decoration-color: var(--ks-line-strong); }
.entry-meta a:hover { color: var(--ks-accent); }

.ks-updated {
	display: inline-flex;
	align-items: center;
	gap: .4rem;
	font-size: .875rem;
	font-weight: 600;
	color: var(--ks-muted);
}

.generate-columns .inside-article,
.ks-postcard {
	border: 1px solid var(--ks-line);
	border-radius: var(--ks-radius);
	padding: 1.4rem;
	height: 100%;
	transition: box-shadow .15s ease, border-color .15s ease;
}
.generate-columns .inside-article:hover { box-shadow: var(--ks-shadow); border-color: var(--ks-line-strong); }

.generate-columns .entry-title { font-size: 1.25rem; line-height: 1.3; }

/* Category pill */
.ks-pill {
	display: inline-block;
	font-size: .6875rem;
	font-weight: 800;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--ks-spec);
	background: var(--ks-spec-wash);
	border: 1px solid var(--ks-spec-line);
	border-radius: 999px;
	padding: .25rem .65rem;
	text-decoration: none;
}

/* ==========================================================================
   14. Newsletter placeholder
   ========================================================================== */

.ks-signup {
	background: var(--ks-navy);
	color: #FFFFFF;
	border-radius: var(--ks-radius);
	padding: clamp(1.75rem, 4vw, 2.75rem);
	text-align: center;
	max-width: none;
}
.ks-signup h2, .ks-signup h3 { color: #FFFFFF; margin-top: 0; }
.ks-signup p { color: rgba(255, 255, 255, .85); max-width: 48ch; margin-inline: auto; }

/* ==========================================================================
   15. Footer
   ========================================================================== */

.site-footer,
.site-info {
	background: var(--ks-navy);
	color: rgba(255, 255, 255, .72);
	font-size: .9375rem;
}
.site-footer a, .site-info a {
	color: rgba(255, 255, 255, .88);
	text-decoration-color: rgba(255, 255, 255, .3);
}
.site-footer a:hover, .site-info a:hover { color: var(--ks-accent-bright); }

.footer-widgets .widget-title { color: #FFFFFF; font-size: 1rem; }

.ks-footer-nav {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: .5rem 1.75rem;
	margin-bottom: 1rem;
}
.ks-footer-nav a {
	color: rgba(255, 255, 255, .88);
	font-weight: 600;
	font-size: .9375rem;
	text-decoration: none;
	/* Keep footer links a comfortable tap target. */
	padding-block: .35rem;
}
.ks-footer-nav a:hover,
.ks-footer-nav a:focus-visible {
	color: var(--ks-accent-bright);
	text-decoration: underline;
}

.ks-footer-legal {
	margin: 0;
	font-size: .875rem;
	color: rgba(255, 255, 255, .62);
	max-width: none;
}

/* Independence notice: present on every page, but quiet enough not to
   compete with the content. */
.ks-footer-disclaimer {
	margin: .9rem auto 0;
	max-width: 70ch;
	font-size: .8125rem;
	line-height: 1.55;
	color: rgba(255, 255, 255, .5);
}

/* ==========================================================================
   16. Accessibility + motion
   ========================================================================== */

.screen-reader-text {
	position: absolute !important;
	width: 1px; height: 1px;
	overflow: hidden; clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	white-space: nowrap;
}

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

/* ==========================================================================
   17. Mobile
   ========================================================================== */

@media (max-width: 768px) {
	:root { --ks-text: 1.0625rem; }

	.entry-content > p,
	.entry-content > ul,
	.entry-content > ol,
	.entry-content > h2,
	.entry-content > h3 { max-width: none; }

	.ks-hero h1 { max-width: none; }
	.ks-hero__actions .ks-btn { flex: 1 1 100%; }

	.ks-spec { padding: 1.2rem 1.1rem 1rem; }
	.ks-spec__grid { grid-template-columns: 1fr; gap: .7rem; }

	.ks-router__item { font-size: 1rem; padding: 1rem 1.1rem; }
}

/* ==========================================================================
   18. Full-bleed sections and page-level wrappers
   The homepage is authored as .alignfull sections inside the normal editor,
   so they have to escape GeneratePress's boxed container.
   ========================================================================== */

body { overflow-x: clip; }

.entry-content > .alignfull,
.entry-content .alignfull {
	width: 100vw;
	max-width: 100vw;
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
}

/* Inner gutter for full-bleed sections. */
.ks-wrap {
	max-width: 1200px;
	margin-inline: auto;
	padding-inline: 32px;
}

/* Prose inside a full-bleed section still needs a comfortable measure.
   Narrowing the wrapper too keeps the section looking composed rather than
   like text stranded against an empty right half. */
.ks-wrap.ks-prose { max-width: 880px; }
.ks-prose > p,
.ks-prose > ul,
.ks-prose > ol { max-width: var(--ks-measure); }
.ks-prose > h2 { margin-top: 0; }

.ks-section__title { margin-top: 0; margin-bottom: 1.5rem; }

/* Lede paragraph used at the top of standalone pages. */
.ks-lede {
	font-size: clamp(1.1875rem, 2.3vw, 1.375rem);
	line-height: 1.55;
	color: var(--ks-ink);
	font-weight: 500;
	max-width: 58ch;
	margin-bottom: 2rem;
}

/* The homepage supplies its own hero, so suppress the page title and the
   container padding that would otherwise sit above it. */
.home .entry-header,
.home .entry-title,
.home .page-header { display: none; }

.home .site-content .content-area,
.home .site-main > article > .inside-article { padding: 0; }
.home .site-content { padding-block: 0; }
.home .entry-content { margin-top: 0; }

/* Latest-posts block on the homepage. */
.ks-latest {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
	gap: 1.5rem;
	list-style: none;
	margin: 0;
	padding: 0;
}
.ks-latest li {
	background: var(--ks-bg);
	border: 1px solid var(--ks-line);
	border-radius: var(--ks-radius);
	padding: 1.3rem;
	margin: 0;
}
.ks-latest .wp-block-latest-posts__post-title {
	display: block;
	font-size: 1.1875rem;
	font-weight: 800;
	line-height: 1.3;
	color: var(--ks-ink);
	text-decoration: none;
	letter-spacing: -0.015em;
}
.ks-latest .wp-block-latest-posts__post-title:hover { color: var(--ks-accent); }
.ks-latest .wp-block-latest-posts__post-date {
	display: block;
	font-size: .8125rem;
	color: var(--ks-muted);
	margin-top: .45rem;
}
.ks-latest .wp-block-latest-posts__post-excerpt {
	font-size: .9375rem;
	color: var(--ks-muted);
	margin-top: .6rem;
	line-height: 1.55;
}
.ks-latest .wp-block-latest-posts__featured-image img {
	border-radius: 6px;
	margin-bottom: .9rem;
}

/* Empty state: no posts yet shouldn't look broken. */
.ks-latest:empty::after {
	content: "First guides are being written.";
	display: block;
	color: var(--ks-muted);
	font-style: italic;
}

@media (max-width: 768px) {
	.ks-wrap { padding-inline: 20px; }
}

/* ==========================================================================
   19. Print
   ========================================================================== */

@media print {
	.site-header, .main-navigation, .site-footer, .ks-signup, .ks-disclosure { display: none !important; }
	body { font-size: 11pt; color: #000; }
	.ks-spec { border: 1px solid #999; background: none; }
	a[href^="http"]::after { content: " (" attr(href) ")"; font-size: 9pt; color: #555; }
}
