/* Atsovia — generated from the Claude Design export. */

/* cyrillic-ext */
@font-face {
  font-family: 'IBM Plex Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/67f9271a-0509-4eac-8b08-bc3b54bed4df.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'IBM Plex Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/e3f42c57-43bb-4c8c-beaf-f0464e3526ce.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* vietnamese */
@font-face {
  font-family: 'IBM Plex Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/ef1a6d8e-50b4-4fc1-8446-c98d7a3a2413.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'IBM Plex Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/91ad1aaf-0d66-47b4-9265-862592926d3f.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'IBM Plex Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/522c4c69-f0e7-4c58-99fc-6292d2187406.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* vietnamese */
@font-face {
  font-family: 'Newsreader';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/4bad38dc-b25f-46fc-8a67-45c04a1aa7a8.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Newsreader';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/d66f09bf-8e80-4872-a743-1cf5bb9b67c9.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Newsreader';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/a234d95f-79cd-4f54-97d5-520f686643ef.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* vietnamese */
@font-face {
  font-family: 'Space Grotesk';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/0b2dbb7a-cc5d-43ad-b5be-272d63456c7c.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Space Grotesk';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/a1a4d33f-4ed9-4adc-9dd0-e9635b5c4f6f.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Space Grotesk';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/fb622829-a2e4-4d84-bff7-7e6ccbd6c226.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* vietnamese */
@font-face {
  font-family: 'Space Grotesk';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../fonts/0b2dbb7a-cc5d-43ad-b5be-272d63456c7c.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Space Grotesk';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../fonts/a1a4d33f-4ed9-4adc-9dd0-e9635b5c4f6f.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Space Grotesk';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../fonts/fb622829-a2e4-4d84-bff7-7e6ccbd6c226.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* vietnamese */
@font-face {
  font-family: 'Space Grotesk';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../fonts/0b2dbb7a-cc5d-43ad-b5be-272d63456c7c.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Space Grotesk';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../fonts/a1a4d33f-4ed9-4adc-9dd0-e9635b5c4f6f.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Space Grotesk';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../fonts/fb622829-a2e4-4d84-bff7-7e6ccbd6c226.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}


  html, body { margin: 0; padding: 0; background: #f7f5f1; -webkit-font-smoothing: antialiased; }
  * { box-sizing: border-box; }
  img, svg, image-slot { max-width: 100%; }
  a { color: #14130f; text-decoration: none; }
  a:hover { color: #b4441c; }
  a:focus-visible, button:focus-visible { outline: 2px solid #b4441c; outline-offset: 3px; }
  @media (prefers-reduced-motion: reduce) { * { animation: none !important; transition: none !important; } }


/* Hover and focus states lifted out of inline style-hover attributes. */
.ats-h1:hover { color: #b4441c; }
.ats-h2:hover { background: #14130f; color: #f7f5f1; }
.ats-h3:hover { background: #c95c22; border-color: #c95c22; }
.ats-h4:hover { color: #e8843c; }
.ats-f5:focus { left: 12px; }

/* WordPress core classes the export never saw */
.screen-reader-text {
	position: absolute !important;
	width: 1px; height: 1px;
	overflow: hidden; clip: rect(1px, 1px, 1px, 1px);
	white-space: nowrap;
}
.alignwide { max-width: 1100px; margin-inline: auto; }
.alignfull { width: 100%; }
.aligncenter { margin-inline: auto; display: block; }
.wp-caption-text, .wp-element-caption {
	font-family: 'IBM Plex Mono', monospace;
	font-size: 12px;
	color: #77716a;
}
.ats-editor { max-width: 760px; margin: 0 auto; padding: 64px clamp(20px, 4.6vw, 56px); }
.ats-editor h1, .ats-editor h2, .ats-editor h3 { font-family: 'Newsreader', Georgia, serif; font-weight: 400; }
.ats-editor a { text-decoration: underline; }

/* Shell — was an inline style on the export's outermost wrapper. */
.ats-shell {
	background: #f7f5f1;
	color: #14130f;
	font-family: 'Space Grotesk', Helvetica, sans-serif;
	max-width: 1440px;
	margin: 0 auto;
}

/* Current page in the navigation. */
[aria-current="page"] { color: #b4441c; }
nav [aria-current="page"] { font-weight: 500; }

/* ==========================================================================
   Contact form
   Matches the design's underlined-field treatment; the design only mocked
   these as divs, so the real controls are styled here.
   ========================================================================== */

.ats-formcard {
	border: 1px solid #14130f;
	background: #fdfdfc;
	padding: clamp(24px, 4vw, 40px);
	display: flex;
	flex-direction: column;
	gap: 22px;
}

.ats-formcard__title {
	margin: 0;
	font-size: clamp(21px, 2.4vw, 26px);
	font-weight: 600;
	letter-spacing: -0.025em;
}

.ats-form { display: flex; flex-direction: column; gap: 22px; }

.ats-form__grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr));
	gap: 20px;
}

.ats-field { display: flex; flex-direction: column; gap: 6px; }

.ats-field__label {
	font-family: 'IBM Plex Mono', monospace;
	font-size: 10px;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: #77716a;
}

.ats-field__input,
.ats-field__area {
	font: inherit;
	font-size: 15px;
	color: #14130f;
	background: transparent;
	border: 0;
	border-bottom: 1px solid #cfcac2;
	border-radius: 0;
	padding: 9px 0;
	width: 100%;
	appearance: none;
	transition: border-color 0.15s ease;
}

.ats-field__input:hover,
.ats-field__area:hover { border-color: #a8a299; }

.ats-field__input:focus,
.ats-field__area:focus {
	outline: none;
	border-color: #c95c22;
	border-bottom-width: 2px;
	padding-bottom: 8px;
}

.ats-field__input:focus-visible,
.ats-field__area:focus-visible { outline: 2px solid #b4441c; outline-offset: 3px; }

.ats-field__area {
	border: 1px solid #e3e0db;
	padding: 14px;
	min-height: 96px;
	resize: vertical;
	line-height: 1.6;
}
.ats-field__area:focus { border-width: 1px; border-color: #c95c22; padding: 14px; }

.ats-field__input::placeholder,
.ats-field__area::placeholder { color: #a8a299; }

select.ats-field__input {
	cursor: pointer;
	background-image: linear-gradient(45deg, transparent 50%, #77716a 50%), linear-gradient(135deg, #77716a 50%, transparent 50%);
	background-position: right 6px center, right 1px center;
	background-size: 5px 5px, 5px 5px;
	background-repeat: no-repeat;
	padding-right: 20px;
}

.ats-form__submit {
	font: inherit;
	font-size: 15px;
	font-weight: 500;
	background: #14130f;
	color: #f7f5f1;
	border: 1px solid #14130f;
	padding: 15px 0;
	width: 100%;
	cursor: pointer;
	transition: background 0.15s ease, border-color 0.15s ease;
}
.ats-form__submit:hover { background: #c95c22; border-color: #c95c22; }

.ats-form__foot {
	margin: 0;
	font-family: 'IBM Plex Mono', monospace;
	font-size: 11px;
	line-height: 1.6;
	color: #6b665f;
}

/* Honeypot — off-screen rather than display:none, which some bots detect. */
.ats-hp {
	position: absolute;
	left: -9999px;
	width: 1px;
	height: 1px;
	overflow: hidden;
}

.ats-notice {
	margin: 0;
	padding: 14px 16px;
	font-size: 14px;
	line-height: 1.55;
	border-left: 3px solid;
}
.ats-notice--ok  { background: #f2ded0; border-color: #c95c22; color: #14130f; }
.ats-notice--bad { background: #eeebe6; border-color: #b4441c; color: #14130f; }

/* ==========================================================================
   Mobile navigation
   The export's nav simply wrapped — seven items over three lines on a phone.
   Below 860px it collapses behind a toggle instead.
   ========================================================================== */

.ats-burger {
	display: none;
	appearance: none;
	background: none;
	border: 1px solid #e3e0db;
	padding: 9px 11px;
	cursor: pointer;
	color: #14130f;
	line-height: 0;
}
.ats-burger span {
	display: block;
	width: 20px;
	height: 2px;
	background: currentColor;
	margin: 4px 0;
	transition: transform 0.2s ease, opacity 0.2s ease;
}
.ats-burger[aria-expanded="true"] span:nth-child(1) { transform: translateY(6px) rotate(45deg); }
.ats-burger[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
.ats-burger[aria-expanded="true"] span:nth-child(3) { transform: translateY(-6px) rotate(-45deg); }

@media (max-width: 860px) {
	.ats-burger { display: block; }

	.ats-shell > header { position: relative; }

	.ats-shell > header > nav {
		display: none !important;
		position: absolute;
		top: 100%;
		left: 0;
		right: 0;
		background: #f7f5f1;
		border-bottom: 1px solid #e3e0db;
		padding: 8px clamp(20px, 4.6vw, 56px) 20px;
		flex-direction: column !important;
		align-items: stretch !important;
		justify-content: flex-start !important;
		gap: 0 !important;
		z-index: 30;
	}
	.ats-shell > header > nav.is-open { display: flex !important; }
	.ats-shell > header > nav > a {
		padding: 13px 0 !important;
		border-bottom: 1px solid #e3e0db;
		font-size: 16px !important;
		width: 100%;
		justify-content: flex-start !important;
	}
	.ats-shell > header > nav > a:last-child {
		border-bottom: 0;
		margin-top: 12px;
		justify-content: center !important;
	}
}

/* ==========================================================================
   Responsive

   Written against the layout values the export actually uses, not blanket
   overrides. Most of its grids are already fluid —
   repeat(auto-fit, minmax(min(100%, 380px), 1fr)) collapses on its own — so
   only the tracks with a hard minimum are touched.

   Deliberately NOT overridden:
     - position: sticky        the only sticky element is the header, and it
                               should stay stuck on mobile too
     - fixed panel heights     they constrain height, not width, so they do
                               not break narrow layouts
   ========================================================================== */

img { max-width: 100%; }

@media (max-width: 700px) {
	/* Label/content two-up: 140px of label beside body text is unreadable
	   once the viewport is narrow. */
	[style*="minmax(140px, 210px) 1fr"] {
		grid-template-columns: 1fr !important;
		gap: 8px !important;
	}
}

@media (max-width: 620px) {
	/* These two set a hard minimum track with no min(100%, …) guard, so they
	   overflow on a 360px screen. */
	[style*="minmax(260px, 1fr)"],
	[style*="minmax(220px, 1fr)"] {
		grid-template-columns: 1fr !important;
	}
}

@media (max-width: 600px) {
	/* Vertical rhythm written for a desktop viewport. */
	[style*="padding: 84px"], [style*="padding: 76px"] {
		padding-top: 48px !important;
		padding-bottom: 48px !important;
	}
	[style*="padding: 64px"] { padding: 32px !important; }
	[style*="padding: 44px"] { padding: 28px !important; }

	/* iOS zooms the viewport when a focused input is under 16px. */
	.ats-field__input, .ats-field__area { font-size: 16px; }
}
