/*!
Theme Name: hl-atto-theme
Theme URI: http://underscores.me/
Author: Underscores.me
Author URI: http://underscores.me/
Description: Description
Version: 1.0.0
Tested up to: 5.4
Requires PHP: 5.6
License: GNU General Public License v2 or later
License URI: LICENSE
Text Domain: hl-atto-theme
Tags: custom-background, custom-logo, custom-menu, featured-images, threaded-comments, translation-ready

This theme, like WordPress, is licensed under the GPL.
Use it to make something cool, have fun, and share what you've learned.

hl-atto-theme is based on Underscores https://underscores.me/, (C) 2012-2020 Automattic, Inc.
Underscores is distributed under the terms of the GNU GPL v2 or later.

Normalizing styles have been helped along thanks to the fine work of
Nicolas Gallagher and Jonathan Neal https://necolas.github.io/normalize.css/
*/

/*--------------------------------------------------------------
>>> TABLE OF CONTENTS:
----------------------------------------------------------------
# Generic
	- Normalize
	- Box sizing
# Base
	- Typography
	- Elements
	- Links
	- Forms
## Layouts
# Components
	- Navigation
	- Posts and pages
	- Comments
	- Widgets
	- Media
	- Captions
	- Galleries
# plugins
	- Jetpack infinite scroll
# Utilities
	- Accessibility
	- Alignments

--------------------------------------------------------------*/

/*--------------------------------------------------------------
# Generic
--------------------------------------------------------------*/

/* Normalize
--------------------------------------------- */

/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */

/* Document
	 ========================================================================== */

/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 */
html {
	line-height: 1.15;
	-webkit-text-size-adjust: 100%;
}

/* Sections
	 ========================================================================== */

/**
 * Remove the margin in all browsers.
 */
body {
	margin: 0;
}

/**
 * Render the `main` element consistently in IE.
 */
main {
	display: block;
}

/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Firefox, and Safari.
 */
h1 {
	font-size: 2em;
	margin: 0.67em 0;
}

/* Grouping content
	 ========================================================================== */

/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */
hr {
	box-sizing: content-box;
	height: 0;
	overflow: visible;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
pre {
	font-family: monospace, monospace;
	font-size: 1em;
}

/* Text-level semantics
	 ========================================================================== */

/**
 * Remove the gray background on active links in IE 10.
 */
a {
	background-color: transparent;
}

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */
abbr[title] {
	border-bottom: none;
	text-decoration: underline;
	text-decoration: underline dotted;
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */
b,
strong {
	font-weight: bolder;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
code,
kbd,
samp {
	font-family: monospace, monospace;
	font-size: 1em;
}

/**
 * Add the correct font size in all browsers.
 */
small {
	font-size: 80%;
}

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */
sub,
sup {
	font-size: 75%;
	line-height: 0;
	position: relative;
	vertical-align: baseline;
}

sub {
	bottom: -0.25em;
}

sup {
	top: -0.5em;
}

/* Embedded content
	 ========================================================================== */

/**
 * Remove the border on images inside links in IE 10.
 */
img {
	border-style: none;
}

/* Forms
	 ========================================================================== */

/**
 * 1. Change the font styles in all browsers.
 * 2. Remove the margin in Firefox and Safari.
 */
button,
input,
optgroup,
select,
textarea {
	font-family: inherit;
	font-size: 100%;
	line-height: 1.15;
	margin: 0;
}

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */
button,
input {
	overflow: visible;
}

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */
button,
select {
	text-transform: none;
}

/**
 * Correct the inability to style clickable types in iOS and Safari.
 */
button,
[type="button"],
[type="reset"],
[type="submit"] {
	-webkit-appearance: button;
}

/**
 * Remove the inner border and padding in Firefox.
 */
button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
	border-style: none;
	padding: 0;
}

/**
 * Restore the focus styles unset by the previous rule.
 */
button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
	outline: 1px dotted ButtonText;
}

/**
 * Correct the padding in Firefox.
 */
fieldset {
	padding: 0.35em 0.75em 0.625em;
}

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *		`fieldset` elements in all browsers.
 */
legend {
	box-sizing: border-box;
	color: inherit;
	display: table;
	max-width: 100%;
	padding: 0;
	white-space: normal;
}

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
	vertical-align: baseline;
}

/**
 * Remove the default vertical scrollbar in IE 10+.
 */
textarea {
	overflow: auto;
}

/**
 * 1. Add the correct box sizing in IE 10.
 * 2. Remove the padding in IE 10.
 */
[type="checkbox"],
[type="radio"] {
	box-sizing: border-box;
	padding: 0;
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */
[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
	height: auto;
}

/**
 * 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */
[type="search"] {
	-webkit-appearance: textfield;
	outline-offset: -2px;
}

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */
[type="search"]::-webkit-search-decoration {
	-webkit-appearance: none;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */
::-webkit-file-upload-button {
	-webkit-appearance: button;
	font: inherit;
}

/* Interactive
	 ========================================================================== */

/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */
details {
	display: block;
}

/*
 * Add the correct display in all browsers.
 */
summary {
	display: list-item;
}

/* Misc
	 ========================================================================== */

/**
 * Add the correct display in IE 10+.
 */
template {
	display: none;
}

/**
 * Add the correct display in IE 10.
 */
[hidden] {
	display: none;
}

/* Box sizing
--------------------------------------------- */

/* Inherit box-sizing to more easily change it's value on a component level.
@link http://css-tricks.com/inheriting-box-sizing-probably-slightly-better-best-practice/ */
*,
*::before,
*::after {
	box-sizing: inherit;
}

html {
	box-sizing: border-box;
}

/*--------------------------------------------------------------
# Base
--------------------------------------------------------------*/

/* Typography
--------------------------------------------- */
body,
button,
input,
select,
optgroup,
textarea {
	color: #404040;
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
	font-size: 1rem;
	line-height: 1.5;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	clear: both;
}

p {
	margin-bottom: 1.5em;
}

dfn,
cite,
em,
i {
	font-style: italic;
}

blockquote {
	margin: 0 1.5em;
}

address {
	margin: 0 0 1.5em;
}

pre {
	background: #eee;
	font-family: "Courier 10 Pitch", courier, monospace;
	line-height: 1.6;
	margin-bottom: 1.6em;
	max-width: 100%;
	overflow: auto;
	padding: 1.6em;
}

code,
kbd,
tt,
var {
	font-family: monaco, consolas, "Andale Mono", "DejaVu Sans Mono", monospace;
}

abbr,
acronym {
	border-bottom: 1px dotted #666;
	cursor: help;
}

mark,
ins {
	background: #fff9c0;
	text-decoration: none;
}

big {
	font-size: 125%;
}

/* Elements
--------------------------------------------- */
body {
	background: #fff;
}

hr {
	background-color: #ccc;
	border: 0;
	height: 1px;
	margin-bottom: 1.5em;
}

ul,
ol {
	margin: 0 0 1.5em 3em;
}

ul {
	list-style: disc;
}

ol {
	list-style: decimal;
}

li > ul,
li > ol {
	margin-bottom: 0;
	margin-left: 1.5em;
}

dt {
	font-weight: 700;
}

dd {
	margin: 0 1.5em 1.5em;
}

/* Make sure embeds and iframes fit their containers. */
embed,
iframe,
object {
	max-width: 100%;
}

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

figure {
	margin: 1em 0;
}

table {
	margin: 0 0 1.5em;
	width: 100%;
}

/* Links
--------------------------------------------- */
a {
	color: #4169e1;
}

/* a:visited {
	color: #800080;
} */

a:hover,
a:focus,
a:active {
	color: #191970;
}

a:focus {
	outline: thin dotted;
}

a:hover,
a:active {
	outline: 0;
}

/* Forms
--------------------------------------------- */
button,
input[type="button"],
input[type="reset"],
input[type="submit"] {
	border: 1px solid;
	border-color: #ccc #ccc #bbb;
	border-radius: 3px;
	background: #e6e6e6;
	color: rgba(0, 0, 0, 0.8);
	line-height: 1;
	padding: 0.6em 1em 0.4em;
}

button:hover,
input[type="button"]:hover,
input[type="reset"]:hover,
input[type="submit"]:hover {
	border-color: #ccc #bbb #aaa;
}

button:active,
button:focus,
input[type="button"]:active,
input[type="button"]:focus,
input[type="reset"]:active,
input[type="reset"]:focus,
input[type="submit"]:active,
input[type="submit"]:focus {
	border-color: #aaa #bbb #bbb;
}

input[type="text"],
input[type="email"],
input[type="url"],
input[type="password"],
input[type="search"],
input[type="number"],
input[type="tel"],
input[type="range"],
input[type="date"],
input[type="month"],
input[type="week"],
input[type="time"],
input[type="datetime"],
input[type="datetime-local"],
input[type="color"],
textarea {
	color: #666;
	border: 1px solid #ccc;
	border-radius: 3px;
	padding: 3px;
}

input[type="text"]:focus,
input[type="email"]:focus,
input[type="url"]:focus,
input[type="password"]:focus,
input[type="search"]:focus,
input[type="number"]:focus,
input[type="tel"]:focus,
input[type="range"]:focus,
input[type="date"]:focus,
input[type="month"]:focus,
input[type="week"]:focus,
input[type="time"]:focus,
input[type="datetime"]:focus,
input[type="datetime-local"]:focus,
input[type="color"]:focus,
textarea:focus {
	color: #111;
}

select {
	border: 1px solid #ccc;
}

textarea {
	width: 100%;
}

/*--------------------------------------------------------------
# Layouts
--------------------------------------------------------------*/

/*--------------------------------------------------------------
# Components
--------------------------------------------------------------*/

/* Navigation
--------------------------------------------- */
.main-navigation {
	display: block;
	width: 100%;
}

.main-navigation ul {
	display: none;
	list-style: none;
	margin: 0;
	padding-left: 0;
}

.main-navigation ul ul {
	box-shadow: 0 3px 3px rgba(0, 0, 0, 0.2);
	float: left;
	position: absolute;
	top: 100%;
	left: -999em;
	z-index: 99999;
}

.main-navigation ul ul ul {
	left: -999em;
	top: 0;
}

.main-navigation ul ul li:hover > ul,
.main-navigation ul ul li.focus > ul {
	display: block;
	left: auto;
}

.main-navigation ul ul a {
	width: 200px;
}

.main-navigation ul li:hover > ul,
.main-navigation ul li.focus > ul {
	left: auto;
}

.main-navigation li {
	position: relative;
}

.main-navigation a {
	display: block;
	text-decoration: none;
}

/* Small menu. */
.menu-toggle,
.main-navigation.toggled ul {
	display: block;
}

@media screen and (min-width: 37.5em) {

	.menu-toggle {
		display: none;
	}

	.main-navigation ul {
		display: flex;
	}
}

.site-main .comment-navigation,
.site-main
.posts-navigation,
.site-main
.post-navigation {
	margin: 0 0 1.5em;
}

.comment-navigation .nav-links,
.posts-navigation .nav-links,
.post-navigation .nav-links {
	display: flex;
}

.comment-navigation .nav-previous,
.posts-navigation .nav-previous,
.post-navigation .nav-previous {
	flex: 1 0 50%;
}

.comment-navigation .nav-next,
.posts-navigation .nav-next,
.post-navigation .nav-next {
	text-align: end;
	flex: 1 0 50%;
}

/* Posts and pages
--------------------------------------------- */
.sticky {
	display: block;
}

.post,
.page {
	margin: 0 0 1.5em;
}

.updated:not(.published) {
	display: none;
}

.page-content,
.entry-content,
.entry-summary {
	margin: 1.5em 0 0;
}

.page-links {
	clear: both;
	margin: 0 0 1.5em;
}

/* Comments
--------------------------------------------- */
.comment-content a {
	word-wrap: break-word;
}

.bypostauthor {
	display: block;
}

/* Widgets
--------------------------------------------- */
.widget {
	margin: 0 0 1.5em;
}

.widget select {
	max-width: 100%;
}

/* Media
--------------------------------------------- */
.page-content .wp-smiley,
.entry-content .wp-smiley,
.comment-content .wp-smiley {
	border: none;
	margin-bottom: 0;
	margin-top: 0;
	padding: 0;
}

/* Make sure logo link wraps around logo image. */
.custom-logo-link {
	display: inline-block;
}

/* Captions
--------------------------------------------- */
.wp-caption {
	margin-bottom: 1.5em;
	max-width: 100%;
}

.wp-caption img[class*="wp-image-"] {
	display: block;
	margin-left: auto;
	margin-right: auto;
}

.wp-caption .wp-caption-text {
	margin: 0.8075em 0;
}

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

/* Galleries
--------------------------------------------- */
.gallery {
	margin-bottom: 1.5em;
	display: grid;
	grid-gap: 1.5em;
}

.gallery-item {
	display: inline-block;
	text-align: center;
	width: 100%;
}

.gallery-columns-2 {
	grid-template-columns: repeat(2, 1fr);
}

.gallery-columns-3 {
	grid-template-columns: repeat(3, 1fr);
}

.gallery-columns-4 {
	grid-template-columns: repeat(4, 1fr);
}

.gallery-columns-5 {
	grid-template-columns: repeat(5, 1fr);
}

.gallery-columns-6 {
	grid-template-columns: repeat(6, 1fr);
}

.gallery-columns-7 {
	grid-template-columns: repeat(7, 1fr);
}

.gallery-columns-8 {
	grid-template-columns: repeat(8, 1fr);
}

.gallery-columns-9 {
	grid-template-columns: repeat(9, 1fr);
}

.gallery-caption {
	display: block;
}

/*--------------------------------------------------------------
# Plugins
--------------------------------------------------------------*/

/* Jetpack infinite scroll
--------------------------------------------- */

/* Hide the Posts Navigation and the Footer when Infinite Scroll is in use. */
.infinite-scroll .posts-navigation,
.infinite-scroll.neverending .site-footer {
	display: none;
}

/* Re-display the Theme Footer when Infinite Scroll has reached its end. */
.infinity-end.neverending .site-footer {
	display: block;
}

/*--------------------------------------------------------------
# Utilities
--------------------------------------------------------------*/

/* Accessibility
--------------------------------------------- */

/* Text meant only for screen readers. */
.screen-reader-text {
	border: 0;
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute !important;
	width: 1px;
	word-wrap: normal !important;
}

.screen-reader-text:focus {
	background-color: #f1f1f1;
	border-radius: 3px;
	box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
	clip: auto !important;
	clip-path: none;
	color: #21759b;
	display: block;
	font-size: 0.875rem;
	font-weight: 700;
	height: auto;
	left: 5px;
	line-height: normal;
	padding: 15px 23px 14px;
	text-decoration: none;
	top: 5px;
	width: auto;
	z-index: 100000;
}

/* Do not show the outline on the skip link target. */
#primary[tabindex="-1"]:focus {
	outline: 0;
}

/* Alignments
--------------------------------------------- */
.alignleft {

	/*rtl:ignore*/
	float: left;

	/*rtl:ignore*/
	margin-right: 1.5em;
	margin-bottom: 1.5em;
}

.alignright {

	/*rtl:ignore*/
	float: right;

	/*rtl:ignore*/
	margin-left: 1.5em;
	margin-bottom: 1.5em;
}

.aligncenter {
	clear: both;
	display: block;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 1.5em;
}

/*--------------------------------------------------------------
# Heritage Excellence design layer
--------------------------------------------------------------*/
:root {
	--color-primary: #0d1e3d;
	--color-primary-deep: #07152d;
	--color-secondary: #c5a059;
	--color-tertiary: #707276;
	--color-neutral: #f8f9fa;
	--color-white: #ffffff;
	--font-heading: "Noto Serif", Georgia, serif;
	--font-body: Manrope, Arial, sans-serif;
	--font-label: "Work Sans", Arial, sans-serif;
	--container-width: 1180px;
}

html {
	scroll-behavior: smooth;
}

body {
	background: var(--color-primary);
	color: var(--color-primary);
	font-family: var(--font-body);
	font-size: 16px;
	line-height: 1.6;
}

a {
	color: var(--color-primary);
}

a:hover,
a:focus {
	color: #8c6b2f;
}

a:focus,
button:focus,
input:focus,
textarea:focus,
select:focus {
	outline: 2px solid var(--color-secondary);
	outline-offset: 3px;
}

.site {
	background: var(--color-neutral);
	display: flex;
	flex-direction: column;
	min-height: 100vh;
	overflow-x: clip;
}

.site-main {
	flex: 1 0 auto;
}

.site-header {
	background: rgba(255, 255, 255, 0.98);
	border-bottom: 1px solid rgba(13, 30, 61, 0.08);
	box-shadow: 0 10px 30px rgba(13, 30, 61, 0.06);
	position: sticky;
	top: 0;
	z-index: 100;
}

.site-header__inner {
	align-items: center;
	display: flex;
	gap: 30px;
	justify-content: space-between;
	margin: 0 auto;
	max-width: var(--container-width);
	min-height: 72px;
	padding: 0 24px;
}

.site-branding {
	flex: 0 0 auto;
}

.site-branding__link,
.custom-logo-link {
	align-items: center;
	display: flex;
	text-decoration: none;
}

.site-branding__logo,
.custom-logo {
	display: block;
	height: 46px;
	max-width: 180px;
	object-fit: contain;
	width: auto;
}

.main-navigation {
	align-items: center;
	display: flex;
	flex: 1 1 auto;
	justify-content: flex-end;
	width: auto;
}

.main-navigation ul,
.main-navigation .menu {
	align-items: center;
	display: flex;
	gap: 6px;
	justify-content: flex-end;
	list-style: none;
	margin: 0;
	padding: 0;
}

.main-navigation li {
	position: relative;
}

.main-navigation a {
	border-bottom: 2px solid transparent;
	color: var(--color-primary);
	display: block;
	font-family: var(--font-label);
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.08em;
	padding: 26px 12px 22px;
	text-decoration: none;
	text-transform: uppercase;
}

.main-navigation a:hover,
.main-navigation a:focus,
.main-navigation .current-menu-item > a,
.main-navigation .current_page_item > a {
	border-bottom-color: var(--color-secondary);
	color: var(--color-primary);
}

.main-navigation ul ul {
	background: var(--color-white);
	border: 1px solid rgba(13, 30, 61, 0.08);
	box-shadow: 0 16px 32px rgba(13, 30, 61, 0.12);
	display: block;
	left: -999em;
	min-width: 220px;
	position: absolute;
	top: 100%;
	z-index: 99999;
}

.main-navigation ul ul a {
	padding: 14px 16px;
	width: 220px;
}

.site-header__cta,
.button {
	align-items: center;
	border: 1px solid transparent;
	border-radius: 4px;
	display: inline-flex;
	font-family: var(--font-label);
	font-size: 14px;
	font-weight: 700;
	justify-content: center;
	min-height: 48px;
	padding: 14px 22px;
	text-decoration: none;
	transition: background-color 160ms ease, border-color 160ms ease, color 160ms ease, transform 160ms ease;
}

.site-header__cta {
	background: var(--color-primary);
	box-shadow: 0 10px 20px rgba(13, 30, 61, 0.16);
	color: var(--color-white);
	flex: 0 0 auto;
	min-height: 42px;
	padding: 10px 18px;
}

.site-header__cta:hover,
.site-header__cta:focus,
.button--primary:hover,
.button--primary:focus {
	background: var(--color-secondary);
	color: var(--color-primary-deep);
}

.button--primary {
	background: var(--color-white);
	color: var(--color-primary-deep);
}

.button--outline-light {
	background: rgba(255, 255, 255, 0.08);
	border-color: rgba(255, 255, 255, 0.32);
	color: var(--color-white);
}

.button--outline-light:hover,
.button--outline-light:focus {
	background: var(--color-white);
	border-color: var(--color-white);
	color: var(--color-primary-deep);
}

.button--navy {
	background: var(--color-primary);
	color: var(--color-white);
}

.button--navy:hover,
.button--navy:focus {
	background: var(--color-secondary);
	color: var(--color-primary-deep);
}

.menu-toggle {
	align-items: center;
	background: var(--color-primary);
	border: 0;
	border-radius: 4px;
	display: none;
	flex-direction: column;
	gap: 5px;
	height: 44px;
	justify-content: center;
	padding: 0;
	width: 44px;
}

.menu-toggle__bar {
	background: var(--color-white);
	display: block;
	height: 2px;
	width: 20px;
}

.hero-home {
	background: var(--color-primary-deep);
	color: var(--color-white);
	min-height: calc(100vh - 72px);
	overflow: hidden;
	position: relative;
}

.hero-home__media,
.hero-home__shade {
	inset: 0;
	position: absolute;
}

.hero-home__media {
	background-image: url("../placeholders/hero-landing-home.jpg");
	background-position: center right;
	background-size: cover;
	transform: scale(1.01);
}

.hero-home__shade {
	background:
		linear-gradient(90deg, rgba(7, 21, 45, 0.97) 0%, rgba(7, 21, 45, 0.88) 38%, rgba(7, 21, 45, 0.34) 68%, rgba(7, 21, 45, 0.2) 100%),
		linear-gradient(0deg, rgba(7, 21, 45, 0.34), rgba(7, 21, 45, 0.08));
}

.hero-home__inner {
	align-items: center;
	display: grid;
	gap: 52px;
	grid-template-columns: minmax(0, 1fr) minmax(320px, 420px);
	margin: 0 auto;
	max-width: var(--container-width);
	min-height: calc(100vh - 72px);
	padding: 78px 24px;
	position: relative;
	z-index: 1;
}

.hero-home__content {
	max-width: 640px;
}

.hero-home__eyebrow {
	color: var(--color-white);
	display: inline-block;
	font-family: var(--font-label);
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.28em;
	line-height: 1.2;
	margin: 0 0 22px;
	padding-bottom: 10px;
	position: relative;
	text-transform: uppercase;
}

.hero-home__eyebrow::after {
	background: var(--color-secondary);
	bottom: 0;
	content: "";
	height: 2px;
	left: 0;
	position: absolute;
	width: 100%;
}

.hero-home__title {
	color: var(--color-white);
	font-family: var(--font-heading);
	font-size: clamp(48px, 7vw, 72px);
	font-weight: 700;
	letter-spacing: 0;
	line-height: 1.02;
	margin: 0 0 24px;
	max-width: 760px;
}

.hero-home__lead {
	border-left: 3px solid rgba(197, 160, 89, 0.72);
	color: rgba(255, 255, 255, 0.9);
	font-size: 18px;
	line-height: 1.75;
	margin: 0 0 32px;
	max-width: 610px;
	padding-left: 24px;
}

.hero-home__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
}

.hero-home__panel {
	backdrop-filter: blur(14px);
	background: rgba(13, 30, 61, 0.58);
	border: 1px solid rgba(255, 255, 255, 0.16);
	border-radius: 12px;
	box-shadow: 0 24px 50px rgba(7, 21, 45, 0.28);
	justify-self: end;
	padding: 36px;
	width: 100%;
}

.hero-home__quote {
	color: var(--color-white);
	font-family: var(--font-heading);
	font-size: 24px;
	font-style: italic;
	font-weight: 700;
	line-height: 1.35;
	margin: 0 0 8px;
}

.hero-home__review {
	color: rgba(255, 255, 255, 0.7);
	font-size: 14px;
	font-style: italic;
	margin: 0 0 26px;
}

.hero-home__review::after {
	background: var(--color-secondary);
	content: "";
	display: block;
	height: 2px;
	margin-top: 22px;
	width: 48px;
}

.hero-home__list {
	color: var(--color-white);
	font-family: var(--font-label);
	font-size: 15px;
	font-weight: 600;
	line-height: 1.5;
	margin: 0;
	padding-left: 20px;
}

.hero-home__list li + li {
	margin-top: 14px;
}

.home-quote {
	background: var(--color-white);
	padding: 72px 24px 68px;
	text-align: center;
}

.home-quote__inner {
	margin: 0 auto;
	max-width: 720px;
}

.home-quote__title,
.section-title {
	color: var(--color-primary-deep);
	font-family: var(--font-heading);
	font-weight: 700;
	letter-spacing: 0;
	line-height: 1.16;
}

.home-quote__title {
	font-size: 32px;
	margin: 0 0 18px;
}

.home-quote__copy {
	color: var(--color-tertiary);
	font-size: 14px;
	line-height: 1.75;
	margin: 0 auto;
	max-width: 610px;
}

.home-quote__copy::after {
	background: var(--color-secondary);
	content: "";
	display: block;
	height: 2px;
	margin: 34px auto 0;
	width: 52px;
}

.home-services {
	background: var(--color-neutral);
	padding: 78px 24px 86px;
}

.home-services__inner {
	margin: 0 auto;
	max-width: var(--container-width);
}

.home-services__header {
	align-items: end;
	display: flex;
	gap: 28px;
	justify-content: space-between;
	margin-bottom: 48px;
}

.section-kicker {
	color: var(--color-secondary);
	font-family: var(--font-label);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.14em;
	line-height: 1.2;
	margin: 0 0 10px;
	text-transform: uppercase;
}

.section-title {
	font-size: 34px;
	margin: 0;
	max-width: 450px;
}

.section-title--center {
	margin-left: auto;
	margin-right: auto;
	text-align: center;
}

.section-link,
.service-card__link {
	align-items: center;
	color: var(--color-primary);
	display: inline-flex;
	font-family: var(--font-label);
	font-size: 12px;
	font-weight: 700;
	gap: 8px;
	letter-spacing: 0.04em;
	text-decoration: none;
}

.section-link {
	margin-bottom: 6px;
	white-space: nowrap;
}

.section-link:hover,
.section-link:focus,
.service-card__link:hover,
.service-card__link:focus {
	color: #8c6b2f;
}

.service-grid {
	display: grid;
	gap: 26px;
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.service-card {
	background: var(--color-white);
	border: 1px solid rgba(13, 30, 61, 0.09);
	border-radius: 0;
	box-shadow: 0 12px 30px rgba(13, 30, 61, 0.035);
	min-height: 262px;
	padding: 34px;
	transition: border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
}

.service-card:hover {
	border-color: rgba(197, 160, 89, 0.54);
	box-shadow: 0 18px 38px rgba(13, 30, 61, 0.07);
	transform: translateY(-2px);
}

.service-card__icon,
.trust-item__icon {
	align-items: center;
	color: var(--color-primary);
	display: inline-flex;
	justify-content: center;
}

.service-card__icon {
	height: 28px;
	margin-bottom: 28px;
	width: 28px;
}

.service-card__icon svg,
.trust-item__icon svg {
	fill: none;
	height: 100%;
	stroke: currentColor;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 2;
	width: 100%;
}

.service-card__title {
	color: var(--color-primary-deep);
	font-family: var(--font-heading);
	font-size: 22px;
	font-weight: 600;
	letter-spacing: 0;
	line-height: 1.2;
	margin: 0 0 14px;
}

.service-card__copy {
	color: var(--color-tertiary);
	font-size: 14px;
	line-height: 1.65;
	margin: 0 0 26px;
}

.service-card__link {
	color: #8c6b2f;
	font-size: 11px;
	text-transform: uppercase;
}

.home-trust {
	background: var(--color-primary);
	color: var(--color-white);
	padding: 0 24px;
}

.home-trust__inner {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	margin: 0 auto;
	max-width: var(--container-width);
}

.trust-item {
	align-items: center;
	column-gap: 12px;
	display: grid;
	grid-template-columns: 24px minmax(0, max-content);
	justify-content: center;
	padding: 34px 0;
	position: relative;
	text-align: left;
}

.trust-item + .trust-item {
	border-left: 1px solid rgba(255, 255, 255, 0.1);
}

.trust-item__icon {
	color: var(--color-secondary);
	grid-row: 1 / span 2;
	height: 24px;
	width: 24px;
}

.trust-item__title {
	color: var(--color-white);
	font-family: var(--font-heading);
	font-size: 15px;
	font-weight: 700;
	line-height: 1.2;
	margin: 0;
}

.trust-item__label {
	color: rgba(255, 255, 255, 0.7);
	font-family: var(--font-label);
	font-size: 10px;
	font-weight: 700;
	letter-spacing: 0.08em;
	line-height: 1.3;
	margin: 0;
	text-align: left;
	text-transform: uppercase;
	max-width: 180px;
}

.home-method {
	background: var(--color-white);
	padding: 88px 24px 84px;
	text-align: center;
}

.home-method__inner,
.home-legacy__inner {
	margin: 0 auto;
	max-width: var(--container-width);
}

.home-method .section-kicker {
	margin-bottom: 12px;
}

.method-grid {
	display: grid;
	gap: 48px;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	margin-top: 64px;
}

.method-card {
	margin: 0 auto;
	max-width: 300px;
}

.method-card__icon {
	align-items: center;
	background: var(--color-neutral);
	color: var(--color-primary);
	display: inline-flex;
	height: 72px;
	justify-content: center;
	margin-bottom: 26px;
	width: 72px;
}

.method-card__icon svg {
	fill: none;
	height: 24px;
	stroke: currentColor;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 2;
	width: 24px;
}

.method-card__title {
	color: var(--color-primary-deep);
	font-family: var(--font-heading);
	font-size: 22px;
	font-weight: 600;
	letter-spacing: 0;
	line-height: 1.25;
	margin: 0 0 18px;
}

.method-card__copy {
	color: var(--color-tertiary);
	font-size: 15px;
	line-height: 1.7;
	margin: 0;
}

.home-legacy {
	background: #f2f3f5;
	padding: 78px 24px 90px;
}

.home-legacy__inner {
	align-items: center;
	display: grid;
	gap: 72px;
	grid-template-columns: minmax(320px, 520px) minmax(0, 1fr);
}

.home-legacy__media {
	position: relative;
}

.home-legacy__media::before,
.home-legacy__media::after {
	border-color: var(--color-secondary);
	content: "";
	height: 72px;
	position: absolute;
	width: 92px;
	z-index: 0;
}

.home-legacy__media::before {
	border-left: 2px solid;
	border-top: 2px solid;
	left: -18px;
	top: -18px;
}

.home-legacy__media::after {
	border-bottom: 2px solid;
	border-right: 2px solid;
	bottom: -18px;
	right: -18px;
}

.home-legacy__image {
	aspect-ratio: 4 / 3;
	box-shadow: 0 24px 42px rgba(13, 30, 61, 0.14);
	display: block;
	height: 390px;
	max-width: 100%;
	object-fit: cover;
	position: relative;
	width: 520px;
	z-index: 1;
}

.home-legacy__content {
	max-width: 510px;
}

.home-legacy__content .section-title {
	margin-bottom: 26px;
}

.home-legacy__content p:not(.section-kicker) {
	color: var(--color-tertiary);
	font-size: 16px;
	line-height: 1.75;
	margin: 0 0 22px;
}

.home-legacy__content .button {
	margin-top: 8px;
}

.home-difference {
	background: var(--color-white);
	padding: 84px 24px 78px;
}

.home-difference__inner,
.home-contact__inner {
	margin: 0 auto;
	max-width: var(--container-width);
}

.home-difference__inner {
	display: grid;
	gap: 76px;
	grid-template-columns: minmax(260px, 340px) minmax(0, 1fr);
}

.home-difference__intro p:not(.section-kicker) {
	color: var(--color-tertiary);
	font-size: 15px;
	line-height: 1.7;
	margin: 24px 0 0;
}

.difference-list {
	display: grid;
	gap: 34px 58px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.difference-item {
	align-items: start;
	display: grid;
	gap: 16px;
	grid-template-columns: 34px minmax(0, 1fr);
}

.difference-item__number {
	color: rgba(197, 160, 89, 0.76);
	font-family: var(--font-label);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.08em;
	line-height: 1.5;
}

.difference-item__title {
	color: var(--color-primary-deep);
	font-family: var(--font-heading);
	font-size: 18px;
	font-weight: 600;
	letter-spacing: 0;
	line-height: 1.25;
	margin: 0 0 10px;
}

.difference-item p {
	color: var(--color-tertiary);
	font-size: 14px;
	line-height: 1.65;
	margin: 0;
}

.home-contact {
	background:
		linear-gradient(76deg, transparent 0 66%, rgba(255, 255, 255, 0.62) 66% 100%),
		#f5f6f8;
	padding: 78px 24px;
}

.home-contact__inner {
	align-items: center;
	display: grid;
	gap: 78px;
	grid-template-columns: minmax(260px, 410px) minmax(360px, 1fr);
}

.home-contact__content p:not(.section-kicker) {
	color: var(--color-tertiary);
	font-size: 15px;
	line-height: 1.75;
	margin: 24px 0 34px;
}

.contact-methods {
	display: grid;
	gap: 22px;
}

.contact-method {
	align-items: center;
	color: var(--color-primary-deep);
	display: grid;
	gap: 18px;
	grid-template-columns: 42px minmax(0, 1fr);
	text-decoration: none;
}

.contact-method:hover,
.contact-method:focus {
	color: #8c6b2f;
}

.contact-method__icon {
	align-items: center;
	background: var(--color-white);
	color: var(--color-primary);
	display: inline-flex;
	height: 42px;
	justify-content: center;
	width: 42px;
}

.contact-method__icon svg {
	fill: none;
	height: 18px;
	stroke: currentColor;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 2;
	width: 18px;
}

.contact-method__label,
.contact-form label {
	color: var(--color-primary);
	display: block;
	font-family: var(--font-label);
	font-size: 10px;
	font-weight: 700;
	letter-spacing: 0.08em;
	line-height: 1.2;
	margin-bottom: 8px;
	text-transform: uppercase;
}

.contact-method__value {
	display: block;
	font-family: var(--font-heading);
	font-size: 17px;
	font-weight: 600;
	line-height: 1.3;
	overflow-wrap: anywhere;
}

.contact-form {
	background: var(--color-white);
	box-shadow: 0 24px 42px rgba(13, 30, 61, 0.12);
	padding: 36px;
}

.contact-form__row {
	display: grid;
	gap: 20px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.contact-form__field {
	margin: 0 0 20px;
}

.contact-form input,
.contact-form select,
.contact-form textarea {
	background: #f8fafc;
	border: 1px solid rgba(13, 30, 61, 0.12);
	border-radius: 0;
	color: var(--color-primary);
	display: block;
	font-size: 14px;
	min-height: 44px;
	padding: 11px 14px;
	width: 100%;
}

.contact-form textarea {
	min-height: 116px;
	resize: vertical;
}

.contact-form__submit {
	border: 0;
	cursor: pointer;
	width: 100%;
}

.contact-form__honeypot {
	left: -9999px;
	position: absolute;
	top: auto;
}

.form-notice {
	border-left: 3px solid currentColor;
	font-size: 14px;
	line-height: 1.6;
	margin: 0 0 20px;
	padding: 12px 14px;
}

.form-notice--success {
	background: rgba(31, 122, 78, 0.08);
	color: #1f7a4e;
}

.form-notice--error {
	background: rgba(142, 43, 43, 0.08);
	color: #8e2b2b;
}

.contact-page {
	background: #f5f6f8;
}

.contact-page__hero {
	margin: 0 auto;
	max-width: 760px;
	padding: 88px 24px 58px;
	text-align: center;
}

.contact-page__hero h1 {
	color: var(--color-primary-deep);
	font-family: var(--font-heading);
	font-size: clamp(42px, 6vw, 62px);
	font-weight: 700;
	letter-spacing: 0;
	line-height: 1.08;
	margin: 0 0 22px;
}

.contact-page__hero p:not(.section-kicker) {
	color: var(--color-tertiary);
	font-size: 15px;
	line-height: 1.75;
	margin: 0 auto;
	max-width: 680px;
}

.contact-page__body {
	padding: 0 24px 92px;
}

.contact-page__grid {
	display: grid;
	gap: 64px;
	grid-template-columns: minmax(260px, 360px) minmax(0, 1fr);
	margin: 0 auto;
	max-width: 1080px;
}

.contact-page__info h2,
.contact-page__form-card h2 {
	color: var(--color-primary-deep);
	font-family: var(--font-heading);
	font-size: 28px;
	font-weight: 600;
	letter-spacing: 0;
	line-height: 1.2;
	margin: 0 0 28px;
}

.contact-info-list {
	display: grid;
	gap: 24px;
}

.contact-info-item {
	align-items: start;
	color: var(--color-primary);
	display: grid;
	gap: 16px;
	grid-template-columns: 42px minmax(0, 1fr);
	text-decoration: none;
}

.contact-info-item:hover,
.contact-info-item:focus {
	color: #8c6b2f;
}

.contact-info-item__icon {
	align-items: center;
	background: var(--color-white);
	color: var(--color-secondary);
	display: inline-flex;
	height: 42px;
	justify-content: center;
	width: 42px;
}

.contact-info-item__icon svg {
	fill: none;
	height: 18px;
	stroke: currentColor;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 2;
	width: 18px;
}

.contact-info-item__title {
	color: var(--color-primary-deep);
	display: block;
	font-family: var(--font-heading);
	font-size: 16px;
	font-weight: 700;
	line-height: 1.3;
	margin-bottom: 3px;
}

.contact-info-item__text,
.contact-info-item__meta {
	display: block;
	font-size: 13px;
	line-height: 1.55;
}

.contact-info-item__text {
	color: var(--color-tertiary);
}

.contact-info-item__meta {
	color: rgba(112, 114, 118, 0.78);
}

.practice-hours {
	background: var(--color-white);
	border: 1px solid rgba(13, 30, 61, 0.08);
	margin-top: 44px;
	padding: 26px;
}

.practice-hours dl {
	display: grid;
	gap: 15px;
	margin: 18px 0 0;
}

.practice-hours div {
	display: flex;
	gap: 18px;
	justify-content: space-between;
}

.practice-hours dt,
.practice-hours dd {
	color: var(--color-tertiary);
	font-size: 13px;
	line-height: 1.4;
	margin: 0;
}

.practice-hours dd {
	color: var(--color-primary);
	text-align: right;
}

.practice-hours div:last-child dd {
	color: #8e2b2b;
}

.contact-page__form-card {
	background: var(--color-white);
	border: 1px solid rgba(13, 30, 61, 0.08);
	box-shadow: 0 24px 42px rgba(13, 30, 61, 0.08);
	overflow: hidden;
	padding: 40px;
	position: relative;
}

.contact-page__form-card::after {
	background: rgba(197, 160, 89, 0.08);
	border-radius: 50%;
	content: "";
	height: 140px;
	position: absolute;
	right: -70px;
	top: -70px;
	width: 140px;
}

.contact-page__form-card > * {
	position: relative;
	z-index: 1;
}

.contact-page__form-card p {
	color: var(--color-tertiary);
	font-size: 14px;
	line-height: 1.7;
	margin: 0 0 24px;
}

.contact-page .contact-form {
	background: transparent;
	box-shadow: none;
	padding: 0;
}

.contact-form__button {
	border: 0;
	cursor: pointer;
	gap: 10px;
	min-width: 170px;
}

.about-page {
	background: var(--color-white);
}

.about-hero {
	align-items: center;
	background: var(--color-primary-deep);
	color: var(--color-white);
	display: flex;
	justify-content: center;
	min-height: 520px;
	overflow: hidden;
	position: relative;
	text-align: center;
}

.about-hero__media,
.about-hero__shade {
	inset: 0;
	position: absolute;
}

.about-hero__media {
	background-image: url("../images/about-hero.png");
	background-position: center;
	background-size: cover;
	filter: grayscale(0.2);
}

.about-hero__shade {
	background: rgba(7, 21, 45, 0.78);
}

.about-hero__content {
	max-width: 780px;
	padding: 80px 24px;
	position: relative;
	z-index: 1;
}

.about-hero h1 {
	color: var(--color-white);
	font-family: var(--font-heading);
	font-size: clamp(44px, 6vw, 66px);
	font-weight: 700;
	letter-spacing: 0;
	line-height: 1.05;
	margin: 0 0 20px;
}

.about-hero p:not(.section-kicker) {
	color: rgba(255, 255, 255, 0.9);
	font-size: 16px;
	line-height: 1.7;
	margin: 0 auto;
	max-width: 640px;
}

.about-story {
	background: var(--color-white);
	padding: 72px 24px 78px;
}

.about-story__inner,
.about-values__inner,
.about-commitment__inner,
.about-contact__inner {
	margin: 0 auto;
	max-width: var(--container-width);
}

.about-section-header {
	margin: 0 auto 52px;
	max-width: 640px;
	text-align: center;
}

.about-section-header h2,
.about-growth h3,
.about-commitment h2,
.about-contact h2 {
	color: var(--color-primary-deep);
	font-family: var(--font-heading);
	font-weight: 700;
	letter-spacing: 0;
	line-height: 1.15;
	margin: 0;
}

.about-section-header h2,
.about-commitment h2,
.about-contact h2 {
	font-size: 34px;
}

.about-section-header h2::after {
	background: var(--color-secondary);
	content: "";
	display: block;
	height: 2px;
	margin: 18px auto 0;
	width: 58px;
}

.about-section-header p {
	color: var(--color-tertiary);
	font-size: 14px;
	margin: 12px 0 0;
}

.about-story__copy {
	margin: 0 auto 42px;
	max-width: 760px;
}

.about-story__copy p,
.about-growth p,
.about-contact p {
	color: var(--color-tertiary);
	font-size: 15px;
	line-height: 1.8;
	margin: 0 0 22px;
}

.about-growth {
	align-items: center;
	display: grid;
	gap: 52px;
	grid-template-columns: 360px minmax(0, 1fr);
	margin: 0 auto;
	max-width: 760px;
}

.about-growth img {
	aspect-ratio: 6 / 5;
	display: block;
	filter: grayscale(1);
	height: auto;
	object-fit: cover;
	width: 100%;
}

.about-growth h3 {
	font-size: 28px;
	margin-bottom: 18px;
}

.about-values {
	background: var(--color-neutral);
	padding: 72px 24px 78px;
}

.about-values__grid {
	display: grid;
	gap: 26px;
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.about-value-card {
	background: var(--color-white);
	border: 1px solid rgba(13, 30, 61, 0.08);
	box-shadow: 0 14px 34px rgba(13, 30, 61, 0.05);
	padding: 42px 32px;
	text-align: center;
}

.about-value-card__icon {
	color: var(--color-secondary);
	display: inline-flex;
	height: 32px;
	margin-bottom: 24px;
	width: 32px;
}

.about-value-card__icon svg {
	fill: none;
	height: 100%;
	stroke: currentColor;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 2;
	width: 100%;
}

.about-value-card h3 {
	color: var(--color-primary-deep);
	font-family: var(--font-heading);
	font-size: 22px;
	font-weight: 600;
	letter-spacing: 0;
	margin: 0 0 14px;
}

.about-value-card p {
	color: var(--color-tertiary);
	font-size: 14px;
	line-height: 1.7;
	margin: 0;
}

.about-commitment {
	background: var(--color-primary);
	color: var(--color-white);
	padding: 72px 24px;
	text-align: center;
}

.about-commitment h2 {
	color: var(--color-white);
	margin-bottom: 24px;
}

.about-commitment p {
	color: rgba(255, 255, 255, 0.82);
	font-size: 15px;
	line-height: 1.75;
	margin: 0 auto;
	max-width: 720px;
}

.about-stats {
	display: flex;
	gap: 56px;
	justify-content: center;
	margin-top: 42px;
}

.about-stats strong,
.about-stats span {
	display: block;
}

.about-stats strong {
	color: var(--color-secondary);
	font-family: var(--font-heading);
	font-size: 34px;
	line-height: 1.1;
}

.about-stats span {
	color: rgba(255, 255, 255, 0.7);
	font-family: var(--font-label);
	font-size: 10px;
	font-weight: 700;
	letter-spacing: 0.08em;
	margin-top: 6px;
	text-transform: uppercase;
}

.about-contact {
	background: var(--color-neutral);
	padding: 72px 24px 80px;
}

.about-contact__inner {
	align-items: center;
	background: var(--color-white);
	border: 1px solid rgba(13, 30, 61, 0.08);
	box-shadow: 0 18px 42px rgba(13, 30, 61, 0.07);
	display: grid;
	gap: 70px;
	grid-template-columns: minmax(260px, 1fr) minmax(360px, 0.9fr);
	padding: 44px;
}

.about-contact h2 {
	font-size: 34px;
	margin-bottom: 20px;
	max-width: 430px;
}

.about-contact p {
	max-width: 430px;
}

.contact-info-list--compact {
	gap: 14px;
	margin-top: 30px;
}

.contact-info-list--compact .contact-info-item {
	align-items: center;
	grid-template-columns: 28px minmax(0, 1fr);
}

.contact-info-list--compact .contact-info-item__icon {
	background: transparent;
	color: var(--color-secondary);
	height: 22px;
	width: 22px;
}

.about-contact__form-card {
	box-shadow: none;
	padding: 0;
}

.about-contact__form-card::after {
	display: none;
}

.litigation-page {
	background: var(--color-white);
}

.litigation-container {
	margin: 0 auto;
	max-width: var(--container-width);
}

.litigation-hero {
	background: var(--color-primary-deep);
	color: var(--color-white);
	min-height: 560px;
	overflow: hidden;
	position: relative;
}

.litigation-hero__media,
.litigation-hero__shade {
	inset: 0;
	position: absolute;
}

.litigation-hero__media {
	background-image: url("../placeholders/hero-landing-home.jpg");
	background-position: center;
	background-size: cover;
	filter: grayscale(0.2);
}

.civil-litigation-page .litigation-hero__media {
	background-image: url("../images/civil-litigation.png");
}

.criminal-litigation-page .litigation-hero__media {
	background-image: url("../images/criminal-litigation.png");
}

.bail-application-page .litigation-hero__media {
	background-image: url("../images/bail-applications.png");
}

.divorce-page .litigation-hero__media {
	background-image: url("../images/divorce.png");
}

.eviction-page .litigation-hero__media {
	background-image: url("../images/evictions.png");
}

.wills-page .litigation-hero__media {
	background-image: url("../images/wills.png");
}

.litigation-hero__shade {
	background: linear-gradient(90deg, rgba(7, 21, 45, 0.96) 0%, rgba(7, 21, 45, 0.84) 45%, rgba(7, 21, 45, 0.34) 100%);
}

.litigation-hero__inner {
	margin: 0 auto;
	max-width: var(--container-width);
	padding: 132px 24px 110px;
	position: relative;
	z-index: 1;
}

.litigation-hero h1 {
	color: var(--color-white);
	font-family: var(--font-heading);
	font-size: clamp(46px, 7vw, 76px);
	font-weight: 700;
	letter-spacing: 0;
	line-height: 1.04;
	margin: 0 0 24px;
	max-width: 760px;
}

.litigation-hero p:not(.section-kicker) {
	color: rgba(255, 255, 255, 0.9);
	font-size: 17px;
	line-height: 1.75;
	margin: 0 0 30px;
	max-width: 720px;
}

.button--secondary {
	background: var(--color-secondary);
	color: var(--color-primary-deep);
}

.button--secondary:hover,
.button--secondary:focus {
	background: var(--color-white);
	color: var(--color-primary-deep);
}

.litigation-intro {
	padding: 78px 24px;
}

.litigation-intro h2,
.litigation-section-header h2,
.litigation-why h2,
.litigation-contact h2 {
	color: var(--color-primary-deep);
	font-family: var(--font-heading);
	font-weight: 700;
	letter-spacing: 0;
	line-height: 1.15;
	margin: 0;
}

.litigation-intro h2 {
	font-size: 38px;
	margin-bottom: 28px;
}

.litigation-intro p {
	color: var(--color-tertiary);
	font-size: 16px;
	line-height: 1.85;
	margin: 0 0 20px;
}

.litigation-focus,
.litigation-faq,
.litigation-contact {
	background: var(--color-neutral);
	padding: 78px 24px;
}

.litigation-section-header {
	margin: 0 auto 46px;
	text-align: center;
}

.litigation-section-header h2 {
	font-size: 38px;
}

.litigation-card-grid {
	display: grid;
	gap: 28px;
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.litigation-card {
	background: var(--color-white);
	border: 1px solid rgba(13, 30, 61, 0.08);
	box-shadow: 0 14px 34px rgba(13, 30, 61, 0.045);
	padding: 34px;
}

.litigation-card__icon {
	align-items: center;
	background: var(--color-neutral);
	color: var(--color-secondary);
	display: inline-flex;
	height: 44px;
	justify-content: center;
	margin-bottom: 28px;
	width: 44px;
}

.litigation-card__icon svg,
.litigation-reasons svg {
	fill: none;
	height: 20px;
	stroke: currentColor;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 2;
	width: 20px;
}

.litigation-card h3,
.litigation-reasons h3 {
	color: var(--color-primary-deep);
	font-family: var(--font-heading);
	font-size: 23px;
	font-weight: 600;
	letter-spacing: 0;
	line-height: 1.22;
	margin: 0 0 16px;
}

.litigation-card p,
.litigation-contact p {
	color: var(--color-tertiary);
	font-size: 15px;
	line-height: 1.75;
	margin: 0 0 16px;
}

.litigation-card p:last-child {
	margin-bottom: 0;
}

.litigation-why {
	background: var(--color-primary);
	color: var(--color-white);
	padding: 78px 24px;
}

.litigation-why__inner {
	align-items: center;
	display: grid;
	gap: 68px;
	grid-template-columns: minmax(0, 1fr) minmax(320px, 480px);
}

.litigation-why h2 {
	color: var(--color-white);
	font-size: 38px;
	margin-bottom: 32px;
	max-width: 560px;
}

.litigation-reasons {
	display: grid;
	gap: 24px;
}

.litigation-reasons article {
	display: grid;
	gap: 16px;
	grid-template-columns: 28px minmax(0, 1fr);
}

.litigation-reasons span {
	color: var(--color-secondary);
	display: inline-flex;
	padding-top: 2px;
}

.litigation-reasons h3 {
	color: var(--color-white);
	margin-bottom: 8px;
}

.litigation-reasons p {
	color: rgba(255, 255, 255, 0.76);
	font-size: 14px;
	line-height: 1.65;
	margin: 0;
}

.litigation-why__image {
	position: relative;
}

.litigation-why__image img {
	aspect-ratio: 6 / 7;
	border-radius: 4px;
	display: block;
	height: auto;
	object-fit: cover;
	width: 100%;
}

.litigation-why__badge {
	background: var(--color-secondary);
	border-radius: 4px;
	bottom: -28px;
	color: var(--color-primary-deep);
	left: -34px;
	padding: 22px 26px;
	position: absolute;
}

.litigation-why__badge strong,
.litigation-why__badge span {
	display: block;
}

.litigation-why__badge strong {
	font-family: var(--font-heading);
	font-size: 34px;
	line-height: 1;
}

.litigation-why__badge span {
	font-family: var(--font-label);
	font-size: 10px;
	font-weight: 700;
	letter-spacing: 0.08em;
	margin-top: 8px;
	text-transform: uppercase;
}

.litigation-faq {
	background: var(--color-white);
}

.litigation-faq__list {
	display: grid;
	gap: 14px;
}

.litigation-faq details {
	background: var(--color-neutral);
	border: 1px solid rgba(13, 30, 61, 0.08);
}

.litigation-faq summary {
	color: var(--color-primary-deep);
	cursor: pointer;
	font-family: var(--font-heading);
	font-size: 20px;
	font-weight: 600;
	list-style: none;
	padding: 20px 24px;
	position: relative;
}

.litigation-faq summary::-webkit-details-marker {
	display: none;
}

.litigation-faq summary::after {
	color: var(--color-secondary);
	content: "+";
	position: absolute;
	right: 24px;
	top: 20px;
}

.litigation-faq details[open] summary::after {
	content: "-";
}

.litigation-faq details p {
	border-top: 1px solid rgba(13, 30, 61, 0.06);
	color: var(--color-tertiary);
	font-size: 14px;
	line-height: 1.75;
	margin: 0;
	padding: 18px 24px 22px;
}

.litigation-contact__inner {
	align-items: center;
	background: var(--color-white);
	border: 1px solid rgba(13, 30, 61, 0.08);
	box-shadow: 0 18px 42px rgba(13, 30, 61, 0.07);
	display: grid;
	gap: 70px;
	grid-template-columns: minmax(260px, 1fr) minmax(360px, 1.15fr);
	padding: 44px;
}

.litigation-contact h2 {
	font-size: 34px;
	margin-bottom: 20px;
}

.litigation-contact__form-card {
	box-shadow: none;
	padding: 0;
}

.litigation-contact__form-card::after {
	display: none;
}

.site-footer {
	background: var(--color-primary);
	color: rgba(255, 255, 255, 0.72);
}

.site-footer__inner {
	margin: 0 auto;
	max-width: var(--container-width);
	padding: 58px 24px 18px;
}

.site-footer__grid {
	display: grid;
	gap: 64px;
	grid-template-columns: minmax(260px, 1.3fr) minmax(130px, 0.6fr) minmax(130px, 0.6fr) minmax(280px, 1.1fr);
}

.site-footer__brand p,
.site-footer__connect p,
.site-footer__bottom p {
	margin: 0;
}

.site-footer__brand p,
.site-footer__connect p {
	color: rgba(255, 255, 255, 0.78);
	font-size: 15px;
	line-height: 1.75;
}

.site-footer__logo-link {
	align-items: center;
	display: inline-flex;
	height: 58px;
	margin-bottom: 10px;
	overflow: visible;
	width: 260px;
}

.site-footer__logo {
	display: block;
	filter: brightness(0) invert(1);
	height: auto;
	max-width: 260px;
	transform: none;
	width: 100%;
}

.site-footer__heading {
	color: rgba(255, 255, 255, 0.64);
	font-family: var(--font-heading);
	font-size: 16px;
	font-weight: 700;
	letter-spacing: 0.12em;
	line-height: 1.2;
	margin: 0 0 26px;
	text-transform: uppercase;
}

.site-footer__nav ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

.site-footer__nav li + li {
	margin-top: 14px;
}

.site-footer a {
	color: rgba(255, 255, 255, 0.82);
	text-decoration: none;
}

.site-footer a:hover,
.site-footer a:focus {
	color: var(--color-secondary);
}

.site-footer__social svg {
	fill: none;
	stroke: currentColor;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 2;
}

.site-footer__bottom {
	align-items: center;
	border-top: 1px solid rgba(255, 255, 255, 0.1);
	display: flex;
	gap: 24px;
	justify-content: flex-start;
	margin-top: 42px;
	padding-top: 24px;
}

.site-footer__bottom p {
	color: rgba(255, 255, 255, 0.52);
	font-size: 14px;
	line-height: 1.6;
}

.site-footer__social {
	display: flex;
	gap: 22px;
	margin-top: 24px;
}

.site-footer__social a {
	align-items: center;
	color: rgba(255, 255, 255, 0.74);
	display: inline-flex;
	font-family: var(--font-label);
	font-size: 13px;
	font-weight: 700;
	height: 28px;
	justify-content: center;
	letter-spacing: 0;
	text-transform: uppercase;
	width: 28px;
}

.site-footer__social svg {
	height: 19px;
	width: 19px;
}

.hero-home + .hentry,
.hero-home + .page,
.home-trust + .hentry,
.home-trust + .page,
.home-legacy + .hentry,
.home-legacy + .page,
.home-contact + .hentry,
.home-contact + .page {
	margin: 0 auto;
	max-width: var(--container-width);
	padding: 80px 24px;
}

/* Blog and article templates */
.blog-index,
.blog-single {
	background: var(--color-neutral);
	color: var(--color-primary);
}

.blog-hero {
	background: var(--color-primary-deep) url("../placeholders/hero-landing-home.jpg") center / cover no-repeat;
	color: var(--color-white);
	min-height: 480px;
	position: relative;
}

.blog-hero__shade {
	background: linear-gradient(90deg, rgba(3, 8, 22, 0.9) 0%, rgba(7, 21, 45, 0.72) 58%, rgba(7, 21, 45, 0.82) 100%);
	inset: 0;
	position: absolute;
}

.blog-hero__inner {
	margin: 0 auto;
	max-width: var(--container-width);
	padding: 155px 24px 90px;
	position: relative;
	z-index: 1;
}

.blog-hero h1,
.blog-archive-hero h1,
.blog-article__header h1 {
	font-family: var(--font-heading);
	font-size: clamp(40px, 5vw, 72px);
	line-height: 0.98;
	margin: 0;
	max-width: 760px;
}

.blog-hero p:not(.section-kicker) {
	font-size: 18px;
	margin: 22px 0 0;
	max-width: 650px;
}

.blog-filter {
	background: var(--color-white);
	border-bottom: 1px solid rgba(13, 30, 61, 0.08);
}

.blog-filter__inner {
	align-items: center;
	display: flex;
	gap: 28px;
	margin: 0 auto;
	max-width: var(--container-width);
	min-height: 72px;
	padding: 0 24px;
}

.blog-filter__link,
.blog-card__eyebrow {
	color: var(--color-secondary);
	font-family: var(--font-label);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.13em;
	text-decoration: none;
	text-transform: uppercase;
}

.blog-filter__link {
	border-bottom: 2px solid transparent;
	color: var(--color-primary);
	padding: 27px 0 23px;
	white-space: nowrap;
}

.blog-filter__link--active,
.blog-filter__link:hover,
.blog-filter__link:focus {
	border-bottom-color: var(--color-secondary);
	color: var(--color-secondary);
}

.blog-search {
	align-items: center;
	display: flex;
	gap: 10px;
	margin-left: auto;
	min-width: 240px;
}

.blog-search svg {
	color: var(--color-primary);
	height: 17px;
	width: 17px;
}

.blog-search input {
	background: transparent;
	border: 0;
	color: var(--color-primary);
	min-height: 42px;
	width: 100%;
}

.blog-featured,
.blog-listing,
.blog-related,
.blog-archive-hero {
	margin: 0 auto;
	max-width: var(--container-width);
	padding-left: 24px;
	padding-right: 24px;
}

.blog-featured {
	padding-bottom: 76px;
	padding-top: 80px;
}

.blog-featured__card {
	background: var(--color-white);
	box-shadow: 0 18px 44px rgba(13, 30, 61, 0.07);
	display: grid;
	gap: 48px;
	grid-template-columns: minmax(0, 1fr) minmax(320px, 0.95fr);
	padding: 56px;
}

.blog-featured__image,
.blog-card__image,
.blog-article__image {
	display: block;
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.blog-featured__image-link,
.blog-card__image-link {
	display: block;
	overflow: hidden;
}

.blog-featured__image-link {
	aspect-ratio: 1.55 / 1;
}

.blog-featured__content {
	align-self: center;
}

.blog-card__eyebrow span::before {
	content: " - ";
}

.blog-featured h2 {
	font-family: var(--font-heading);
	font-size: clamp(32px, 4vw, 52px);
	line-height: 1.05;
	margin: 12px 0 18px;
}

.blog-featured h2 a,
.blog-card h3 a,
.blog-article__header a,
.blog-related h2 a {
	color: inherit;
	text-decoration: none;
}

.blog-featured p:not(.blog-card__eyebrow),
.blog-card p,
.blog-article__content,
.blog-author-box p {
	color: var(--color-tertiary);
}

.blog-author {
	align-items: center;
	display: flex;
	gap: 12px;
	margin: 24px 0 26px;
}

.blog-author__avatar,
.blog-author-box__avatar {
	border-radius: 999px;
	flex: 0 0 auto;
}

.blog-author strong,
.blog-author span {
	display: block;
}

.blog-author strong {
	color: var(--color-primary);
	font-size: 13px;
	line-height: 1.2;
}

.blog-author span {
	color: var(--color-tertiary);
	font-size: 12px;
}

.blog-read-link {
	align-items: center;
	color: var(--color-primary);
	display: inline-flex;
	font-family: var(--font-label);
	font-size: 12px;
	font-weight: 700;
	gap: 8px;
	letter-spacing: 0.08em;
	text-decoration: none;
	text-transform: uppercase;
}

.blog-read-link svg {
	height: 16px;
	width: 16px;
}

.blog-listing {
	padding-bottom: 78px;
}

.blog-listing__header {
	align-items: end;
	display: flex;
	justify-content: space-between;
	margin-bottom: 44px;
}

.blog-listing__header h2,
.blog-related h2,
.blog-ledger h2,
.blog-cta h2,
.blog-author-box h2 {
	color: var(--color-primary-deep);
	font-family: var(--font-heading);
	font-size: clamp(30px, 4vw, 44px);
	line-height: 1.1;
	margin: 0;
}

.blog-listing__header span {
	color: var(--color-tertiary);
	font-family: var(--font-label);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

.blog-card-grid {
	display: grid;
	gap: 32px;
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.blog-card {
	background: var(--color-white);
	box-shadow: 0 14px 34px rgba(13, 30, 61, 0.05);
	display: flex;
	flex-direction: column;
	min-height: 100%;
}

.blog-card__image-link {
	aspect-ratio: 1.45 / 1;
}

.blog-card__body {
	flex: 1 1 auto;
	padding: 28px 28px 12px;
}

.blog-card h3 {
	color: var(--color-primary-deep);
	font-family: var(--font-heading);
	font-size: 26px;
	line-height: 1.08;
	margin: 10px 0 14px;
}

.blog-card p {
	font-size: 14px;
	margin: 0;
}

.blog-card__footer {
	align-items: center;
	display: flex;
	justify-content: space-between;
	margin-top: auto;
	padding: 22px 28px 28px;
}

.blog-card__footer time,
.blog-card__footer a {
	color: var(--color-tertiary);
	font-size: 12px;
}

.blog-card__footer a {
	color: var(--color-primary-deep);
	font-family: var(--font-label);
	font-weight: 700;
	text-decoration: none;
	text-transform: uppercase;
}

.blog-pagination {
	margin-top: 52px;
	text-align: center;
}

.blog-pagination .nav-links {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	justify-content: center;
}

.blog-pagination a,
.blog-pagination span {
	background: var(--color-white);
	border: 1px solid rgba(13, 30, 61, 0.16);
	color: var(--color-primary);
	display: inline-flex;
	font-family: var(--font-label);
	font-size: 12px;
	font-weight: 700;
	justify-content: center;
	min-width: 42px;
	padding: 11px 14px;
	text-decoration: none;
	text-transform: uppercase;
}

.blog-pagination .current {
	background: var(--color-primary);
	color: var(--color-white);
}

.blog-ledger {
	background: var(--color-primary-deep);
	color: var(--color-white);
	padding: 76px 24px 86px;
	text-align: center;
}

.blog-ledger__inner {
	margin: 0 auto;
	max-width: 780px;
}

.blog-ledger h2,
.blog-cta h2 {
	color: var(--color-white);
}

.blog-ledger p:not(.section-kicker),
.blog-cta p {
	margin: 18px auto 30px;
	max-width: 680px;
}

.blog-social-links {
	display: flex;
	flex-wrap: wrap;
	gap: 16px;
	justify-content: center;
}

.blog-social-links a {
	align-items: center;
	background: rgba(255, 255, 255, 0.08);
	border: 1px solid rgba(255, 255, 255, 0.18);
	color: var(--color-white);
	display: inline-flex;
	font-family: var(--font-label);
	font-size: 13px;
	font-weight: 700;
	height: 48px;
	justify-content: center;
	text-decoration: none;
	text-transform: uppercase;
	width: 48px;
}

.blog-social-links a:hover,
.blog-social-links a:focus {
	background: var(--color-secondary);
	border-color: var(--color-secondary);
	color: var(--color-primary-deep);
}

.blog-social-links svg {
	height: 18px;
	width: 18px;
}

.blog-article__header {
	margin: 0 auto;
	max-width: 780px;
	padding: 72px 24px 46px;
	text-align: center;
}

.blog-article__header h1 {
	margin: 14px auto 20px;
}

.blog-article__meta {
	align-items: center;
	color: var(--color-tertiary);
	display: flex;
	font-size: 14px;
	gap: 12px;
	justify-content: center;
}

.blog-article__hero {
	aspect-ratio: 2.35 / 1;
	background: var(--color-primary);
	overflow: hidden;
	width: 100%;
}

.blog-article__content {
	font-size: 16px;
	margin: 0 auto;
	max-width: 700px;
	padding: 70px 24px 36px;
}

.blog-article__content h2,
.blog-article__content h3,
.blog-article__content h4 {
	color: var(--color-primary-deep);
	font-family: var(--font-heading);
	line-height: 1.16;
	margin: 42px 0 18px;
}

.blog-article__content h2 {
	font-size: 34px;
}

.blog-article__content h3 {
	font-size: 26px;
}

.blog-article__content p,
.blog-article__content ul,
.blog-article__content ol {
	margin-bottom: 22px;
}

.blog-article__content blockquote {
	border-left: 3px solid var(--color-secondary);
	color: var(--color-primary-deep);
	font-family: var(--font-heading);
	font-size: 24px;
	font-style: italic;
	line-height: 1.2;
	margin: 34px 0;
	padding: 8px 0 8px 28px;
}

.blog-article__content li {
	margin-bottom: 10px;
}

.blog-author-box {
	align-items: center;
	background: var(--color-white);
	display: grid;
	gap: 20px;
	grid-template-columns: 72px minmax(0, 1fr);
	margin: 20px auto 76px;
	max-width: 700px;
	padding: 28px;
}

.blog-author-box h2 {
	font-size: 24px;
	margin-bottom: 6px;
}

.blog-author-box p {
	font-size: 14px;
	margin: 0;
}

.blog-related {
	padding-bottom: 76px;
	text-align: center;
}

.blog-related h2 {
	margin-bottom: 40px;
}

.blog-related .blog-card {
	text-align: left;
}

.blog-cta {
	background: var(--color-primary-deep);
	border-radius: 4px;
	color: var(--color-white);
	margin: 0 auto 82px;
	max-width: calc(var(--container-width) - 96px);
	padding: 68px 24px;
	text-align: center;
}

.blog-archive-hero {
	padding-bottom: 56px;
	padding-top: 76px;
	text-align: center;
}

.blog-archive-hero h1 {
	margin: 12px auto 0;
}

.blog-archive-hero__description {
	color: var(--color-tertiary);
	margin: 18px auto 0;
	max-width: 620px;
}

.blog-empty {
	background: var(--color-white);
	margin: 0 auto;
	max-width: 720px;
	padding: 44px;
	text-align: center;
}

.blog-empty h2 {
	color: var(--color-primary-deep);
	font-family: var(--font-heading);
	margin-top: 0;
}

/* Legal document pages */
.legal-page {
	background: var(--color-neutral);
	color: var(--color-primary);
}

.legal-page__hero {
	background: var(--color-primary-deep);
	color: var(--color-white);
	padding: 86px 24px 72px;
}

.legal-page__inner {
	margin: 0 auto;
	max-width: 860px;
	text-align: center;
}

.legal-page__hero h1 {
	color: var(--color-white);
	font-family: var(--font-heading);
	font-size: clamp(40px, 5vw, 64px);
	line-height: 1;
	margin: 10px 0 18px;
}

.legal-page__hero p:not(.section-kicker) {
	margin: 0 auto;
	max-width: 660px;
}

.legal-page__body {
	margin: 0 auto;
	max-width: 900px;
	padding: 72px 24px 86px;
}

.legal-document {
	background: var(--color-white);
	box-shadow: 0 18px 44px rgba(13, 30, 61, 0.07);
	padding: 56px;
}

.legal-document__meta {
	border-bottom: 1px solid rgba(13, 30, 61, 0.1);
	color: var(--color-tertiary);
	display: flex;
	font-family: var(--font-label);
	font-size: 12px;
	font-weight: 700;
	gap: 8px;
	letter-spacing: 0.08em;
	margin-bottom: 36px;
	padding-bottom: 18px;
	text-transform: uppercase;
}

.legal-document__content {
	color: var(--color-tertiary);
}

.legal-document__content h2,
.legal-document__content h3,
.legal-document__content h4 {
	color: var(--color-primary-deep);
	font-family: var(--font-heading);
	line-height: 1.15;
	margin: 36px 0 14px;
}

.legal-document__content h2 {
	font-size: 30px;
}

.legal-document__content h3 {
	font-size: 23px;
}

.legal-document__content p,
.legal-document__content ul,
.legal-document__content ol {
	margin-bottom: 18px;
}

.legal-document__content li {
	margin-bottom: 8px;
}

/* 404 page */
.not-found-page {
	background: var(--color-neutral);
	color: var(--color-primary);
}

.not-found-page__hero {
	background: var(--color-primary-deep);
	color: var(--color-white);
	padding: 104px 24px 92px;
}

.not-found-page__inner {
	margin: 0 auto;
	max-width: 880px;
	text-align: center;
}

.not-found-page__hero h1 {
	color: var(--color-white);
	font-family: var(--font-heading);
	font-size: clamp(42px, 6vw, 76px);
	line-height: 0.98;
	margin: 12px auto 20px;
	max-width: 760px;
}

.not-found-page__hero p:not(.section-kicker) {
	margin: 0 auto;
	max-width: 660px;
}

.not-found-page__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
	justify-content: center;
	margin-top: 34px;
}

.not-found-page__body {
	margin: 0 auto;
	max-width: var(--container-width);
	padding: 72px 24px 86px;
}

.not-found-page__grid {
	display: grid;
	gap: 34px;
	grid-template-columns: minmax(0, 1.1fr) minmax(280px, 0.75fr);
}

.not-found-page__search,
.not-found-page__links {
	background: var(--color-white);
	box-shadow: 0 16px 38px rgba(13, 30, 61, 0.06);
	padding: 40px;
}

.not-found-page__search h2,
.not-found-page__links h2 {
	color: var(--color-primary-deep);
	font-family: var(--font-heading);
	font-size: 32px;
	line-height: 1.1;
	margin: 0 0 12px;
}

.not-found-page__search p {
	color: var(--color-tertiary);
	margin: 0 0 24px;
}

.not-found-search {
	display: grid;
	gap: 12px;
	grid-template-columns: minmax(0, 1fr) 140px;
}

.not-found-search input {
	background: var(--color-neutral);
	border: 1px solid rgba(13, 30, 61, 0.1);
	min-height: 52px;
	padding: 0 16px;
}

.not-found-page__links ul {
	list-style: none;
	margin: 20px 0 0;
	padding: 0;
}

.not-found-page__links li + li {
	border-top: 1px solid rgba(13, 30, 61, 0.08);
}

.not-found-page__links a {
	align-items: center;
	color: var(--color-primary);
	display: flex;
	font-weight: 700;
	justify-content: space-between;
	padding: 12px 0;
	text-decoration: none;
}

.not-found-page__links a::after {
	color: var(--color-secondary);
	content: "->";
	font-family: var(--font-label);
	font-size: 12px;
}

@media screen and (max-width: 920px) {
	.site-header__inner {
		gap: 16px;
		min-height: 68px;
	}

	.menu-toggle {
		display: inline-flex;
	}

	.main-navigation {
		flex: 0 0 auto;
		order: 3;
	}

	.main-navigation ul,
	.main-navigation .menu {
		align-items: stretch;
		background: var(--color-white);
		border-top: 1px solid rgba(13, 30, 61, 0.08);
		box-shadow: 0 18px 28px rgba(13, 30, 61, 0.1);
		display: none;
		flex-direction: column;
		gap: 0;
		left: 0;
		padding: 10px 24px 18px;
		position: absolute;
		right: 0;
		top: 68px;
	}

	.main-navigation.toggled ul {
		display: flex;
	}

	.main-navigation a {
		border-bottom: 1px solid rgba(13, 30, 61, 0.08);
		font-size: 13px;
		padding: 15px 0;
	}

	.main-navigation ul ul {
		border: 0;
		box-shadow: none;
		left: auto;
		min-width: 0;
		padding: 0 0 0 16px;
		position: static;
	}

	.main-navigation ul ul a {
		width: auto;
	}

	.site-header__cta {
		margin-left: auto;
	}

	.hero-home,
	.hero-home__inner {
		min-height: calc(100vh - 68px);
	}

	.hero-home__inner {
		gap: 36px;
		grid-template-columns: 1fr;
		padding: 58px 24px;
	}

	.hero-home__panel {
		justify-self: start;
		max-width: 520px;
	}

	.home-services__header {
		align-items: start;
		flex-direction: column;
	}

	.service-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.home-trust__inner {
		grid-template-columns: 1fr;
	}

	.trust-item {
		justify-content: flex-start;
		padding: 28px 0;
	}

	.trust-item + .trust-item {
		border-left: 0;
		border-top: 1px solid rgba(255, 255, 255, 0.1);
	}

	.method-grid {
		gap: 34px;
		grid-template-columns: 1fr;
		margin-top: 48px;
	}

	.home-legacy__inner {
		gap: 48px;
		grid-template-columns: 1fr;
	}

	.home-legacy__content {
		max-width: 640px;
	}

	.home-difference__inner,
	.home-contact__inner {
		gap: 42px;
		grid-template-columns: 1fr;
	}

	.difference-list {
		gap: 30px;
	}

	.home-contact__inner {
		align-items: start;
	}

	.contact-page__grid {
		gap: 42px;
		grid-template-columns: 1fr;
	}

	.about-growth,
	.about-contact__inner,
	.litigation-why__inner,
	.litigation-contact__inner {
		grid-template-columns: 1fr;
	}

	.about-values__grid,
	.litigation-card-grid,
	.blog-featured__card,
	.blog-card-grid {
		grid-template-columns: 1fr;
	}

	.blog-filter__inner {
		align-items: flex-start;
		flex-direction: column;
		gap: 0;
		padding-bottom: 16px;
		padding-top: 16px;
	}

	.blog-filter__link {
		padding: 10px 0;
	}

	.blog-search {
		margin-left: 0;
		min-width: 0;
		width: 100%;
	}

	.about-contact__inner {
		gap: 38px;
	}

	.litigation-why__badge {
		left: 24px;
	}

	.site-footer__grid {
		gap: 42px;
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media screen and (max-width: 640px) {
	.site-header__inner {
		padding: 0 16px;
	}

	.site-branding__logo,
	.custom-logo {
		height: 38px;
		max-width: 150px;
	}

	.site-header__cta {
		display: none;
	}

	.hero-home__shade {
		background: linear-gradient(90deg, rgba(7, 21, 45, 0.95) 0%, rgba(7, 21, 45, 0.84) 100%);
	}

	.hero-home__inner {
		padding: 48px 18px;
	}

	.hero-home__eyebrow {
		font-size: 11px;
		letter-spacing: 0.2em;
	}

	.hero-home__title {
		font-size: 44px;
	}

	.hero-home__lead {
		font-size: 16px;
		padding-left: 18px;
	}

	.hero-home__actions,
	.hero-home__actions .button {
		width: 100%;
	}

	.hero-home__panel {
		border-radius: 10px;
		padding: 26px;
	}

	.home-quote {
		padding: 54px 18px 50px;
	}

	.home-quote__title,
	.section-title {
		font-size: 28px;
	}

	.home-services {
		padding: 58px 18px 64px;
	}

	.home-services__header {
		margin-bottom: 34px;
	}

	.service-grid {
		grid-template-columns: 1fr;
	}

	.service-card {
		min-height: 0;
		padding: 28px;
	}

	.home-trust {
		padding: 0 18px;
	}

	.home-method {
		padding: 62px 18px 58px;
	}

	.method-card__icon {
		height: 62px;
		width: 62px;
	}

	.home-legacy {
		padding: 58px 18px 66px;
	}

	.home-legacy__media::before,
	.home-legacy__media::after {
		height: 50px;
		width: 68px;
	}

	.home-legacy__media::before {
		left: -10px;
		top: -10px;
	}

	.home-legacy__media::after {
		bottom: -10px;
		right: -10px;
	}

	.home-legacy__image {
		height: auto;
		width: 100%;
	}

	.home-difference,
	.home-contact {
		padding: 58px 18px;
	}

	.difference-list,
	.contact-form__row {
		grid-template-columns: 1fr;
	}

	.difference-item {
		gap: 12px;
		grid-template-columns: 30px minmax(0, 1fr);
	}

	.contact-form {
		padding: 26px;
	}

	.contact-page__hero {
		padding: 64px 18px 42px;
	}

	.contact-page__body {
		padding: 0 18px 64px;
	}

	.contact-page__form-card {
		padding: 28px;
	}

	.contact-page .contact-form {
		padding: 0;
	}

	.about-hero {
		min-height: 440px;
	}

	.about-story,
	.about-values,
	.about-commitment,
	.about-contact {
		padding-left: 18px;
		padding-right: 18px;
	}

	.about-growth {
		gap: 28px;
	}

	.about-stats {
		flex-direction: column;
		gap: 26px;
	}

	.about-contact__inner {
		padding: 28px;
	}

	.litigation-hero__inner {
		padding: 82px 18px 72px;
	}

	.litigation-intro,
	.litigation-focus,
	.litigation-why,
	.litigation-faq,
	.litigation-contact {
		padding: 58px 18px;
	}

	.litigation-contact__inner {
		padding: 28px;
	}

	.litigation-card {
		padding: 28px;
	}

	.litigation-faq summary {
		font-size: 18px;
		padding-right: 48px;
	}

	.practice-hours {
		padding: 22px;
	}

	.site-footer__inner {
		padding: 44px 18px 16px;
	}

	.site-footer__grid {
		grid-template-columns: 1fr;
	}

	.site-footer__bottom {
		align-items: flex-start;
		flex-direction: column;
		margin-top: 32px;
		padding-top: 22px;
	}

	.blog-hero {
		min-height: 420px;
	}

	.blog-hero__inner {
		padding: 86px 18px 64px;
	}

	.blog-featured,
	.blog-listing,
	.blog-related,
	.blog-archive-hero,
	.blog-article__header {
		padding-left: 18px;
		padding-right: 18px;
	}

	.blog-featured {
		padding-bottom: 58px;
		padding-top: 58px;
	}

	.blog-featured__card {
		gap: 28px;
		padding: 24px;
	}

	.blog-listing__header {
		align-items: flex-start;
		flex-direction: column;
		gap: 12px;
	}

	.blog-card__body,
	.blog-card__footer {
		padding-left: 22px;
		padding-right: 22px;
	}

	.blog-author-box {
		grid-template-columns: 1fr;
	}

	.blog-article__header {
		padding-bottom: 36px;
		padding-top: 56px;
	}

	.blog-article__hero {
		aspect-ratio: 1.35 / 1;
	}

	.blog-article__content {
		padding: 46px 18px 28px;
	}

	.blog-article__content h2 {
		font-size: 28px;
	}

	.blog-article__content blockquote {
		font-size: 21px;
		padding-left: 20px;
	}

	.blog-author-box,
	.blog-cta {
		margin-left: 18px;
		margin-right: 18px;
	}

	.legal-page__hero {
		padding: 64px 18px 54px;
	}

	.legal-page__body {
		padding: 54px 18px 64px;
	}

	.legal-document {
		padding: 28px;
	}

	.legal-document__meta {
		align-items: flex-start;
		flex-direction: column;
	}

	.not-found-page__hero {
		padding: 72px 18px 64px;
	}

	.not-found-page__body {
		padding: 54px 18px 64px;
	}

	.not-found-page__grid,
	.not-found-search {
		grid-template-columns: 1fr;
	}

	.not-found-page__search,
	.not-found-page__links {
		padding: 28px;
	}
}
