@charset "utf-8";

/*
* lanceunplugged.com	| default website css
* @version				| 1.0.0
* @lastmodified			| 2026.05.21
* @cdn					| https://cache.lanceunplugged.com/core/css/default.css
*/

/*
Import order:
1. vendor framework/utilities
2. animation utilities
3. Lance Unplugged identity variables
*/

@import url("https://cache.deliverableresults.com/foundation/6.9.0/foundation.min.css");
@import url("https://cache.deliverableresults.com/animate/4.1.1/animate.min.css");
@import url("https://cache.lanceunplugged.com/core/css/variables.css?v=1.0.0");


/* --------------------------------- */
/* 🧩 Resets                         */
/* --------------------------------- */

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

html {
	font-size: 62.5%; /* 1rem = 10px */
	scroll-behavior: smooth;
}

body {
	margin: 0;
	min-width: 320px;
	text-rendering: optimizeLegibility;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

img,
picture,
svg,
video,
canvas {
	display: block;
	max-width: 100%;
	height: auto;
}

figure {
	margin: 0;
}

button,
input,
textarea,
select {
	font: inherit;
}

.button,
.button.disabled,
.button.disabled:focus,
.button.disabled:hover,
.button[disabled],
.button[disabled]:focus,
.button[disabled]:hover {
	background-color: unset;
	color: unset;
	margin: unset;
}


/* --------------------------------- */
/* 🧩 Assists                        */
/* --------------------------------- */

.full-viewport {
	width: 100vw;
	min-height: 100vh;
}

.flex-center {
	display: flex;
	flex-wrap: nowrap;
	flex-direction: row;
	align-content: center;
	justify-content: center;
	align-items: center;
}

.flex-column {
	display: flex;
	flex-direction: column;
}

.no-list-style {
	list-style: none;
	margin-left: 0;
	padding-left: 0;
}

.last-child-nomarg > *:last-child {
	margin-bottom: 0;
}

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

.text-center {
	text-align: center;
}

.text-muted {
	color: var(--color-text-muted);
}

.text-subtle {
	color: var(--color-text-subtle);
}

.text-inverse {
	color: var(--color-text-inverse);
}


/* --------------------------------- */
/* 🧩 Defaults                       */
/* --------------------------------- */

body,
body.default {
	background-color: var(--color-background);
	color: var(--color-text);
	font-family: var(--type-base);
	font-size: var(--type-size-base);
	font-weight: var(--type-weight-light);
	line-height: var(--type-leading-normal);
	letter-spacing: var(--type-tracking-normal);
}

p,
dl,
ol,
ul {
	line-height: var(--type-leading-normal);
	margin-top: 0;
	margin-bottom: var(--margin-lg);
}

dl,
ol,
ul {
	list-style-position: outside;
}

li:not(:only-child):not(:last-child) {
	margin-bottom: var(--margin-xs);
}

strong,
b {
	font-weight: var(--type-weight-bold);
}

small {
	font-size: var(--type-size-sm);
}

hr {
	border: 0;
	border-top: var(--border-width) solid var(--color-border);
	margin: var(--margin-xl) 0;
}

a {
	color: var(--color-link);
	text-decoration-color: rgba(var(--lu-rgb-tidal-blue), 0.35);
	text-underline-offset: 0.18em;
	transition:
		color var(--transition-fast),
		text-decoration-color var(--transition-fast);
}

a:hover,
a:focus {
	color: var(--color-link-hover);
	text-decoration-color: rgba(var(--lu-rgb-canyon-teal), 0.55);
}


/* --------------------------------- */
/* 🔘 Buttons                        */
/* --------------------------------- */

button,
.button {
	display: inline-block;
	vertical-align: middle;
	text-align: center;
	cursor: pointer;

	border: var(--border-width) solid transparent;
	border-radius: var(--button-radius);
	font-family: var(--type-heading);
	font-size: var(--type-size-sm);
	font-weight: var(--type-weight-semibold);
	line-height: 1;
	letter-spacing: var(--type-tracking-wide);
	padding: var(--button-padding);

	margin-bottom: var(--margin-md);

	background-color: var(--button-bg);
	color: var(--button-text);
	text-decoration: none;

	-webkit-appearance: none;
	appearance: none;

	-webkit-transition:
		background-color var(--transition-fast),
		border-color var(--transition-fast),
		color var(--transition-fast),
		box-shadow var(--transition-fast);
	transition:
		background-color var(--transition-fast),
		border-color var(--transition-fast),
		color var(--transition-fast),
		box-shadow var(--transition-fast);
}

button:hover,
button:focus,
.button:hover,
.button:focus {
	background-color: var(--button-bg-hover);
	color: var(--button-text);
	text-decoration: none;
}

button:focus-visible,
.button:focus-visible {
	outline: none;
	box-shadow: var(--shadow-focus);
}

.button.secondary {
	background-color: var(--color-secondary);
	color: var(--color-text-inverse);
}

.button.secondary:hover,
.button.secondary:focus {
	background-color: var(--color-secondary-hover);
	color: var(--color-text-inverse);
}

.button.ghost {
	background-color: transparent;
	border-color: var(--color-border-strong);
	color: var(--color-primary);
}

.button.ghost:hover,
.button.ghost:focus {
	background-color: var(--color-background-alt);
	border-color: var(--color-primary-hover);
	color: var(--color-primary-hover);
}


/* --------------------------------- */
/* 🅰️ Typography                     */
/* --------------------------------- */

h1,
h2,
h3,
h4,
h5,
h6,
.heading {
	color: var(--color-heading);
	font-family: var(--type-heading);
	font-weight: var(--type-weight-bold);
	line-height: var(--type-leading-tight);
	letter-spacing: var(--type-tracking-tight);
	margin-top: 0;
	margin-bottom: var(--margin-md);
}

h1,
.heading-xl {
	font-size: var(--type-size-5xl);
}

h2,
.heading-lg {
	font-size: var(--type-size-4xl);
}

h3,
.heading-md {
	font-size: var(--type-size-3xl);
}

h4,
.heading-sm,
.heading {
	font-size: var(--type-size-xl);
}

h5,
.heading-xs {
	font-size: var(--type-size-lg);
}

h6 {
	font-size: var(--type-size-base);
	text-transform: uppercase;
	letter-spacing: var(--type-tracking-widest);
}

.subheading {
	color: var(--color-text-soft);
	font-family: var(--type-subheading);
	font-size: var(--type-size-xl);
	font-weight: var(--type-weight-semibold);
	line-height: var(--type-leading-normal);
	letter-spacing: var(--type-tracking-wide);
	margin-top: 0;
	margin-bottom: var(--margin-sm);
}

.tagline {
	color: var(--color-text-muted);
	font-family: var(--type-heading);
	font-size: var(--type-size-lg);
	font-weight: var(--type-weight-regular);
	line-height: var(--type-leading-relaxed);
	letter-spacing: var(--type-tracking-wide);
	margin-bottom: var(--margin-md);
}

.eyebrow {
	color: var(--color-accent);
	font-family: var(--type-heading);
	font-size: var(--type-size-xs);
	font-weight: var(--type-weight-bold);
	letter-spacing: var(--type-tracking-widest);
	line-height: var(--type-leading-normal);
	text-transform: uppercase;
	margin-bottom: var(--margin-xs);
}

article .heading {
	font-size: var(--type-size-lg);
	font-weight: var(--type-weight-semibold);
	line-height: var(--type-leading-normal);
	letter-spacing: var(--type-tracking-normal);
	margin-bottom: var(--margin-md);
}


/* --------------------------------- */
/* 🧩 Modules                        */
/* --------------------------------- */

.module {}

.module > *:last-child {
	margin-bottom: 0;
}

.module:not(:only-child):not(:last-child) {
	margin-bottom: var(--margin-md);
}

.module.mod-logo {}

.module.mod-tagline {}

.identity-logo {
	display: block;
	height: auto;
	max-width: 100%;
}


/* --------------------------------- */
/* 🧩 Pages                          */
/* --------------------------------- */

.page {
	position: relative;
	display: flex;
	flex-direction: column;
	min-block-size: 100vh;
	max-inline-size: 100%;
	background-color: var(--color-background);
	color: var(--color-text);
}

.top-level-element {
	padding-top: var(--padding-lg);
	padding-bottom: var(--padding-lg);
	margin-top: 0;
	margin-bottom: 0;
}

.top-level-element > *:last-child {
	margin-bottom: 0;
	padding-bottom: 0;
}

.page-header {
	background-color: transparent;
}

.page-header .module.mod-logo .identity-logo {
	width: min(60%, 32rem);
}

.page-content {
	flex: 1 0 auto;
}

.page-footer {
	background-color: var(--color-background-alt);
	color: var(--color-text-muted);
	border-top: var(--border-width) solid var(--color-border);
}


/* --------------------------------- */
/* 🧩 Content Containers             */
/* --------------------------------- */

.container {
	width: min(100% - 3.2rem, var(--container-max-width));
	margin-right: auto;
	margin-left: auto;
}

.content-container {
	width: min(100% - 3.2rem, var(--content-max-width));
	margin-right: auto;
	margin-left: auto;
}

.article-container {
	width: min(100% - 3.2rem, var(--article-max-width));
	margin-right: auto;
	margin-left: auto;
}

.surface {
	background-color: var(--color-surface);
	border: var(--card-border);
	border-radius: var(--card-radius);
	box-shadow: var(--shadow-sm);
	padding: var(--card-padding);
}

.surface-raised {
	background-color: var(--color-surface-raised);
	border: var(--card-border);
	border-radius: var(--card-radius);
	box-shadow: var(--shadow-md);
	padding: var(--card-padding);
}


/* --------------------------------- */
/* 🧩 Articles                       */
/* --------------------------------- */

article {}

article:not(:only-child):not(:last-child) {
	margin-bottom: var(--margin-lg);
}

article header {}

article header > *:last-child {
	margin-bottom: 0;
}

article section {}

article section:not(:only-child):not(:last-child) {
	margin-bottom: var(--margin-md);
}

article section > *:last-child {
	margin-bottom: 0;
}

article footer {}

article footer > *:last-child {
	margin-bottom: 0;
}

.article-meta {
	color: var(--color-text-muted);
	font-family: var(--type-heading);
	font-size: var(--type-size-sm);
	letter-spacing: var(--type-tracking-wide);
}

.article-body {
	background-color: transparent;
	color: var(--color-text);
	font-size: var(--type-size-base);
	line-height: var(--type-leading-relaxed);
}

.article-body > *:last-child {
	margin-bottom: 0;
}


/* --------------------------------- */
/* 🧩 Field Notes / Editorial Blocks */
/* --------------------------------- */

.field-note {
	background-color: var(--color-surface-raised);
	border-left: var(--border-width-strong) solid var(--color-accent);
	border-radius: var(--radius-card);
	color: var(--color-text);
	padding: var(--padding-lg);
}

.pull-quote,
.quote-container,
.quote-containter {
	color: var(--color-heading);
	font-family: "census-variable", var(--type-heading);
	font-size: var(--type-size-2xl);
	font-weight: var(--type-weight-regular);
	line-height: var(--type-leading-snug);
	text-align: center;
}

.quote-text {
	font-family: "census-variable", var(--type-heading);
	font-size: var(--type-size-2xl);
	line-height: var(--type-leading-snug);
	text-align: center;
	margin-bottom: var(--margin-sm);
}

.quote-author {
	color: var(--color-text-muted);
	font-display: auto;
	font-style: italic;
	font-weight: var(--type-weight-regular);
	font-stretch: normal;
}


/* --------------------------------- */
/* 🧩 Temporary Roadblock            */
/* --------------------------------- */

#roadblock {
	min-height: 100vh;
	width: 100vw;
	display: flex;
	flex-wrap: wrap;
	flex-direction: row;
	align-content: center;
	justify-content: center;
	align-items: center;
	background-color: var(--color-heading);
	color: var(--color-text-inverse);
	padding: var(--padding-xl);
}

#roadblock section.roadblock-intro {
	width: min(100%, 65rem);
}

#roadblock section.roadblock-intro header {
	padding: var(--padding-2xl) 0;
	text-align: center;
	font-size: var(--type-size-3xl);
	font-family: var(--type-heading);
	font-weight: var(--type-weight-bold);
	color: var(--color-text-inverse);
}


/* --------------------------------- */
/* 🎨 Themes                         */
/* --------------------------------- */

.theme-field-paper {
	background-color: var(--lu-color-field-paper);
	color: var(--color-text);
}

.theme-stone-ivory {
	background-color: var(--lu-color-stone-ivory);
	color: var(--color-text);
}

.theme-soft-linen {
	background-color: var(--lu-color-soft-linen);
	color: var(--color-text);
}

.theme-limestone {
	background-color: var(--lu-color-limestone);
	color: var(--color-text);
}

.theme-trail-juniper {
	background-color: var(--lu-color-trail-juniper);
	color: var(--color-text-inverse);
}

.theme-canyon-teal {
	background-color: var(--lu-color-canyon-teal);
	color: var(--color-text-inverse);
}

.theme-tidal-blue,
.theme-cerulean {
	background-color: var(--lu-color-tidal-blue);
	color: var(--color-text-inverse);
}

.theme-campfire-ochre {
	background-color: var(--lu-color-campfire-ochre);
	color: var(--color-text-inverse);
}

.theme-deep-rust-red {
	background-color: var(--lu-color-deep-rust-red);
	color: var(--color-text-inverse);
}

.theme-coal-dust {
	background-color: var(--lu-color-coal-dust);
	color: var(--color-text-inverse);
}

.layout-dark,
.layout-coal-dust {
	background-color: var(--lu-color-coal-dust);
	color: var(--color-text-inverse);
}

.layout-dark a,
.layout-coal-dust a,
.theme-coal-dust a {
	color: var(--lu-color-weathered-sky);
}


/* --------------------------------- */
/* 🧩 Forms                          */
/* --------------------------------- */

input,
textarea,
select {
	background-color: var(--input-bg);
	border: var(--border-width) solid var(--input-border);
	border-radius: var(--input-radius);
	color: var(--input-text);
	padding: var(--padding-sm) var(--padding-md);
}

input::placeholder,
textarea::placeholder {
	color: var(--input-placeholder);
}

input:focus,
textarea:focus,
select:focus {
	border-color: var(--color-primary-hover);
	box-shadow: var(--input-focus-shadow);
	outline: none;
}


/* --------------------------------- */
/* 📱 Responsive Adjustments         */
/* --------------------------------- */

@media (max-width: 767px) {
	h1,
	.heading-xl {
		font-size: var(--type-size-4xl);
	}

	h2,
	.heading-lg {
		font-size: var(--type-size-3xl);
	}

	h3,
	.heading-md {
		font-size: var(--type-size-2xl);
	}

	.top-level-element {
		padding-top: var(--padding-md);
		padding-bottom: var(--padding-md);
	}

	.page-header .module.mod-logo .identity-logo {
		width: min(70%, 26rem);
	}
}
