@charset "UTF-8";
/*------------------------------------------------------------

	Stylesheet: Main

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

	Stylesheet: Sass Functions

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

	Stylesheet: Web Fonts

	Conventions: self-hosted woff2 only, font-display swap,
	real style/weight descriptors. Preload the hero image,
	NOT these fonts — the site is image-led and the LCP
	element is a photograph (design-system tokens/fonts.css).

	Both faces are variable, subset to Latin + arrows (U+2190-2193
	for the TextLink arrow), built 2026-08-29. OFL licences ship
	alongside in library/fonts/. Newsreader italic is deliberately
	not loaded: one use in the whole system for +88% payload —
	do not let the browser synthesise an oblique.

------------------------------------------------------------*/
@font-face {
  font-display: swap;
  font-family: "Newsreader";
  font-style: normal;
  font-weight: 200 800;
  src: url("../fonts/newsreader-var.woff2") format("woff2-variations");
}
@font-face {
  font-display: swap;
  font-family: "Hanken Grotesk";
  font-style: normal;
  font-weight: 100 900;
  src: url("../fonts/hanken-grotesk-var.woff2") format("woff2-variations");
}
/* Base
-------------------------*/
/*------------------------------------------------------------

	Stylesheet: Main

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

	Stylesheet: Normalize

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

html {
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  -webkit-text-size-adjust: 100%;
  font-size: 100%;
  scroll-behavior: smooth;
}

body {
  background-color: #F7F4EC;
  color: #2A1F13;
  font-family: "Newsreader", Georgia, "Times New Roman", serif;
  font-size: 17px;
  line-height: 1.55;
  margin: 0;
  min-height: 100vh;
  padding: 0;
}

blockquote,
dl,
dd,
figure,
h1,
h2,
h3,
h4,
h5,
h6,
hr,
p,
pre {
  margin: 0;
}

ol,
ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

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

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

input,
button,
textarea,
select {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}

p,
h1,
h2,
h3,
h4,
h5,
h6 {
  overflow-wrap: break-word;
}

a {
  color: inherit;
  text-decoration: none;
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    scroll-behavior: auto !important;
    transition-duration: 0.01ms !important;
  }
}
/*------------------------------------------------------------

	Stylesheet: Main

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

	Stylesheet: Print Styles

------------------------------------------------------------*/
@media print {
  *,
  *::before,
  *::after {
    background: transparent !important;
    box-shadow: none !important;
    color: #000 !important;
    text-shadow: none !important;
  }
  a,
  a:visited {
    text-decoration: underline;
  }
  a[href]::after {
    content: " (" attr(href) ")";
  }
  abbr[title]::after {
    content: " (" attr(title) ")";
  }
  a[href^="#"]::after,
  a[href^="javascript:"]::after {
    content: "";
  }
  pre {
    white-space: pre-wrap !important;
  }
  pre,
  blockquote {
    border: 1px solid #999;
    page-break-inside: avoid;
  }
  thead {
    display: table-header-group;
  }
  tr,
  img {
    page-break-inside: avoid;
  }
  p,
  h2,
  h3 {
    orphans: 3;
    widows: 3;
  }
  h2,
  h3 {
    page-break-after: avoid;
  }
  .site-header,
  .site-footer,
  .main-nav,
  .sidebar,
  .pagination {
    display: none;
  }
}
/* Components
-------------------------*/
/*------------------------------------------------------------

	Stylesheet: Main

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

	Stylesheet: Buttons

	Naming: .btn is the base; variants and modifiers are flat
	dash classes (.btn-primary, .btn-sm). omens_render_link()
	always emits "btn <variant>" and adds .btn-icon when an
	icon is rendered, so markup and styles share one vocabulary.

------------------------------------------------------------*/
.btn, .slider__prev, .slider__next {
  align-items: center;
  border: 1px solid transparent;
  border-radius: 0;
  cursor: pointer;
  display: inline-flex;
  font-family: "Hanken Grotesk", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 11px;
  font-weight: 500;
  gap: 8px;
  justify-content: center;
  letter-spacing: 0.16em;
  line-height: 1;
  min-height: 44px;
  padding: 14px 28px;
  text-align: center;
  text-decoration: none;
  text-transform: uppercase;
  transition: opacity 320ms cubic-bezier(0.33, 0.02, 0.2, 1);
}
.btn:hover, .slider__prev:hover, .slider__next:hover {
  opacity: 0.55;
}
.btn:active, .slider__prev:active, .slider__next:active {
  opacity: 0.4;
}
.btn:focus-visible, .slider__prev:focus-visible, .slider__next:focus-visible {
  outline: 2px solid #2A1F13;
  outline-offset: 2px;
}

.btn.btn-icon i, .btn-icon.slider__prev i, .btn-icon.slider__next i,
.btn.btn-icon svg,
.btn-icon.slider__prev svg,
.btn-icon.slider__next svg {
  flex: 0 0 auto;
  font-size: 0.875em;
  line-height: 1;
  transition: transform 150ms cubic-bezier(0.33, 0.02, 0.2, 1);
}
.btn.btn-icon:hover i, .btn-icon.slider__prev:hover i, .btn-icon.slider__next:hover i, .btn.btn-icon:hover svg, .btn-icon.slider__prev:hover svg, .btn-icon.slider__next:hover svg, .btn.btn-icon:focus-visible i, .btn-icon.slider__prev:focus-visible i, .btn-icon.slider__next:focus-visible i, .btn.btn-icon:focus-visible svg, .btn-icon.slider__prev:focus-visible svg, .btn-icon.slider__next:focus-visible svg {
  transform: translateX(2px);
}
.btn:disabled, .slider__prev:disabled, .slider__next:disabled, .btn[aria-disabled=true], [aria-disabled=true].slider__prev, [aria-disabled=true].slider__next {
  cursor: not-allowed;
  opacity: 0.5;
  pointer-events: none;
}

.btn-primary {
  background-color: #2A1F13;
  border-color: #2A1F13;
  color: #F7F4EC;
}

.btn-secondary, .slider__prev, .slider__next {
  background-color: transparent;
  border-color: currentColor;
  color: inherit;
}

.btn-ghost {
  background-color: transparent;
  border-color: transparent;
  color: #2A1F13;
  padding-left: 0;
  padding-right: 0;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 4px;
}

.btn-sm {
  min-height: 36px;
  padding: 10px 18px;
}

.btn-lg {
  padding: 16px 48px;
}

.btn-block {
  display: flex;
  width: 100%;
}

.read-more {
  color: #2A1F13;
  font-weight: 600;
  text-decoration: none;
  transition: color 150ms cubic-bezier(0.33, 0.02, 0.2, 1);
}
.read-more:hover, .read-more:focus {
  color: #454034;
  text-decoration: underline;
}
.read-more:focus-visible {
  outline: 2px solid #2A1F13;
  outline-offset: 2px;
}

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

	Stylesheet: Main

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

	Stylesheet: Forms

------------------------------------------------------------*/
label {
  display: block;
  font-family: "Hanken Grotesk", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 11px;
  font-weight: 500;
  letter-spacing: 0.16em;
  margin-bottom: 4px;
  text-transform: uppercase;
}

input[type=text],
input[type=email],
input[type=tel],
input[type=url],
input[type=search],
input[type=number],
input[type=password],
textarea,
select {
  background-color: transparent;
  border: 0;
  border-bottom: 1px solid #D9D0BD;
  border-radius: 0;
  color: #2A1F13;
  display: block;
  font-family: "Newsreader", Georgia, "Times New Roman", serif;
  font-size: 17px;
  line-height: 1.55;
  padding: 8px 0;
  transition: border-color 150ms cubic-bezier(0.33, 0.02, 0.2, 1);
  width: 100%;
}
input[type=text]:focus,
input[type=email]:focus,
input[type=tel]:focus,
input[type=url]:focus,
input[type=search]:focus,
input[type=number]:focus,
input[type=password]:focus,
textarea:focus,
select:focus {
  border-bottom-color: #2A1F13;
  outline: none;
}
input[type=text]::-moz-placeholder, input[type=email]::-moz-placeholder, input[type=tel]::-moz-placeholder, input[type=url]::-moz-placeholder, input[type=search]::-moz-placeholder, input[type=number]::-moz-placeholder, input[type=password]::-moz-placeholder, textarea::-moz-placeholder, select::-moz-placeholder {
  color: #665E50;
}
input[type=text]::placeholder,
input[type=email]::placeholder,
input[type=tel]::placeholder,
input[type=url]::placeholder,
input[type=search]::placeholder,
input[type=number]::placeholder,
input[type=password]::placeholder,
textarea::placeholder,
select::placeholder {
  color: #665E50;
}
input[type=text]:disabled,
input[type=email]:disabled,
input[type=tel]:disabled,
input[type=url]:disabled,
input[type=search]:disabled,
input[type=number]:disabled,
input[type=password]:disabled,
textarea:disabled,
select:disabled {
  background-color: #F0EADD;
  cursor: not-allowed;
  opacity: 0.6;
}

textarea {
  min-height: 140px;
  resize: vertical;
}

select {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='none' stroke='%232A1F13' stroke-width='1' d='M1 1.5l5 5 5-5'/%3E%3C/svg%3E");
  background-position: right 4px center;
  background-repeat: no-repeat;
  cursor: pointer;
  padding-right: 28px;
}

input[type=checkbox],
input[type=radio] {
  accent-color: #2A1F13;
  cursor: pointer;
  height: 16px;
  width: 16px;
}

.form-field {
  margin-bottom: 24px;
}
.form-field.has-error input,
.form-field.has-error textarea,
.form-field.has-error select {
  border-color: #2A1F13;
}

.form-error {
  color: #2A1F13;
  font-size: 13px;
  margin-top: 4px;
}

#commentform .comment-form-author,
#commentform .comment-form-email,
#commentform .comment-form-url,
#commentform .comment-form-comment {
  margin-bottom: 24px;
}
#commentform .comment-form-author label,
#commentform .comment-form-email label,
#commentform .comment-form-url label,
#commentform .comment-form-comment label {
  margin-bottom: 4px;
}
#commentform .form-submit {
  margin-top: 24px;
}

.gform_wrapper .gform_fields {
  display: grid;
  gap: 24px;
  grid-template-columns: 1fr;
}
@media (min-width: 768px) {
  .gform_wrapper .gform_fields {
    grid-template-columns: 1fr 1fr;
  }
}
.gform_wrapper .gfield {
  grid-column: 1/-1;
}
@media (min-width: 768px) {
  .gform_wrapper .gfield.half {
    grid-column: span 1;
  }
}
.gform_wrapper .gfield_required {
  color: #665E50;
  padding-left: 2px;
}
.gform_wrapper .gform_required_legend {
  display: none;
}
.gform_wrapper textarea {
  min-height: 0;
  overflow: hidden;
  resize: none;
}
.gform_wrapper .gfield_validation_message,
.gform_wrapper .gform_validation_errors {
  color: #2A1F13;
  font-family: "Hanken Grotesk", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 13px;
  margin-top: 4px;
}
.gform_wrapper .gform_footer {
  margin-top: 24px;
}
.gform_wrapper .form-consent {
  color: #2A1F13;
  font-family: "Hanken Grotesk", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 13px;
  line-height: 1.5;
  margin: 8px 0 0;
  max-width: 34em;
}
.gform_wrapper .form-consent a {
  color: inherit;
  text-decoration: underline;
  text-underline-offset: 0.2em;
}
.gform_wrapper .form-consent a:hover {
  opacity: 0.55;
}
.gform_wrapper .form-consent a:focus-visible {
  outline: 2px solid #2A1F13;
  outline-offset: 2px;
}

.gform_wrapper .gfield--type-turnstile {
  margin: 0;
  padding: 0;
}
.gform_wrapper .cf-turnstile {
  margin: 0;
}

.gform_confirmation_message {
  font-family: "Newsreader", Georgia, "Times New Roman", serif;
  font-weight: 280;
  font-size: clamp(1.375rem, 1.375rem + (1vw - 3.2px) * 0.5352363961, 1.75rem);
  letter-spacing: -0.005em;
  line-height: 1.35;
}

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

	Stylesheet: Main

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

	Stylesheet: Sliders

------------------------------------------------------------*/
.slider {
  overflow: hidden;
  position: relative;
  width: 100%;
}
.slider__track {
  display: flex;
  will-change: transform;
}
.slider__slide {
  flex: 0 0 100%;
  min-width: 0;
}
.slider__controls {
  align-items: center;
  display: flex;
  justify-content: space-between;
  margin-top: 16px;
}
.slider__dots {
  align-items: center;
  display: flex;
  justify-content: center;
  gap: 8px;
  list-style: none;
  margin: 0;
  padding: 0;
}
.slider__dot {
  background-color: #665E50;
  border-radius: 999px;
  cursor: pointer;
  height: 8px;
  transition: background-color 150ms cubic-bezier(0.33, 0.02, 0.2, 1);
  width: 8px;
}
.slider__dot.is-active {
  background-color: #2A1F13;
}

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

	Stylesheet: Main

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

	Stylesheet: Entries

	Posts and pages rendered by index.php / single.php / page.php:
	article header, meta, thumbnail, content, and pagination.

------------------------------------------------------------*/
.entry {
  margin-bottom: 64px;
  max-width: 792px;
}
.entry:last-of-type {
  margin-bottom: 0;
}

.entry-header {
  margin-bottom: 24px;
}

.entry-title {
  margin-bottom: 8px;
}
.entry-title a {
  color: inherit;
  text-decoration: none;
}
.entry-title a:hover, .entry-title a:focus {
  color: #2A1F13;
}

.entry-meta {
  color: #665E50;
  font-size: 13px;
}
.entry-meta a {
  color: inherit;
}

.entry-thumbnail {
  margin-bottom: 24px;
}
.entry-thumbnail img {
  border-radius: 0;
  height: auto;
  width: 100%;
}

.entry-content *:last-child {
  margin-bottom: 0;
}

.entry-footer {
  color: #665E50;
  font-size: 13px;
  margin-top: 24px;
}
.entry-footer p {
  margin-bottom: 4px;
}

.pagination {
  margin-top: 64px;
}
.pagination__list {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  list-style: none;
  margin: 0;
  padding: 0;
}
.pagination .page-numbers {
  align-items: center;
  border: 1px solid #D9D0BD;
  border-radius: 0;
  color: #2A1F13;
  display: inline-flex;
  justify-content: center;
  min-height: 44px;
  min-width: 44px;
  padding: 0 8px;
  text-decoration: none;
  transition: background-color color border-color 150ms cubic-bezier(0.33, 0.02, 0.2, 1);
}
.pagination .page-numbers:focus-visible {
  outline: 2px solid #2A1F13;
  outline-offset: 2px;
}

.pagination .page-numbers:hover, .pagination .page-numbers:focus {
  border-color: #2A1F13;
  color: #2A1F13;
}
.pagination .page-numbers.current {
  background-color: #2A1F13;
  border-color: #2A1F13;
  color: #F7F4EC;
}
.pagination .page-numbers.dots {
  border-color: transparent;
}

.comments {
  margin-top: 64px;
}

.post-navigation,
.comment-navigation {
  margin-top: 48px;
}
.post-navigation .nav-links,
.comment-navigation .nav-links {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  justify-content: space-between;
}

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

	Stylesheet: Main

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

	Stylesheet: Cookie gate

	The site's own register, not a plugin's: espresso ground,
	cream marks, 11px tracked labels, no radius. Bottom-left so
	it never lands on the hero's own bottom band, and narrow
	enough to leave the photographs alone.

------------------------------------------------------------*/
.consent {
  bottom: 24px;
  left: clamp(20px, 4.5vw, 64px);
  max-width: 30em;
  opacity: 0;
  position: fixed;
  transform: translateY(8px);
  transition: opacity 320ms cubic-bezier(0.33, 0.02, 0.2, 1), transform 320ms cubic-bezier(0.33, 0.02, 0.2, 1);
  width: calc(100% - clamp(20px, 4.5vw, 64px) * 2);
  z-index: 999;
}
.consent[hidden] {
  display: none;
}
.consent.is-up {
  opacity: 1;
  transform: none;
}

.consent-inner {
  background-color: #2A1F13;
  color: #F7F4EC;
  display: flex;
  flex-direction: column;
  gap: 16px;
  padding: 24px;
}
@media (min-width: 768px) {
  .consent-inner {
    align-items: center;
    flex-direction: row;
    gap: 24px;
    justify-content: space-between;
  }
}

.consent-text {
  color: #F7F4EC;
  font-family: "Hanken Grotesk", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 17px;
  line-height: 1.55;
  margin: 0;
}
.consent-text a {
  color: inherit;
  text-decoration: underline;
  text-underline-offset: 4px;
  transition: opacity 320ms cubic-bezier(0.33, 0.02, 0.2, 1);
}
.consent-text a:hover {
  opacity: 0.55;
}
.consent-text a:focus-visible {
  outline: 2px solid #F7F4EC;
  outline-offset: 2px;
}

.consent-actions {
  display: flex;
  flex-shrink: 0;
  gap: 8px;
}

.consent-btn {
  background: none;
  border: 1px solid rgba(247, 244, 236, 0.45);
  color: #F7F4EC;
  cursor: pointer;
  font-family: "Hanken Grotesk", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 11px;
  font-weight: 500;
  letter-spacing: 0.16em;
  min-height: 44px;
  padding: 0 16px;
  text-transform: uppercase;
  transition: background-color 320ms cubic-bezier(0.33, 0.02, 0.2, 1), border-color 320ms cubic-bezier(0.33, 0.02, 0.2, 1), color 320ms cubic-bezier(0.33, 0.02, 0.2, 1);
  white-space: nowrap;
}
.consent-btn:focus-visible {
  outline: 2px solid #F7F4EC;
  outline-offset: 2px;
}

.consent-btn:hover {
  border-color: #F7F4EC;
}
.consent-btn.is-accept {
  background-color: #F7F4EC;
  border-color: #F7F4EC;
  color: #2A1F13;
}
.consent-btn.is-accept:hover {
  opacity: 0.55;
}

@media (prefers-reduced-motion: reduce) {
  .consent {
    transform: none;
    transition: none;
  }
  .consent-btn {
    transition: none;
  }
}
/*------------------------------------------------------------

	Stylesheet: Main

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

	Component: Tables

	The theme had no table styles at all, which only showed up
	when the legal pages arrived carrying eight of them: browser
	defaults on a design-system site, and at 320px a 397px table
	pushed the whole page sideways (WCAG 1.4.10, caught by the
	a11y harness 2026-09-22).

	A data table is one of the cases 1.4.10 explicitly allows to
	scroll, so the fix is to let the table scroll inside its own
	box instead of taking the page with it. The wrapper is made
	focusable in PHP so the scroll is reachable without a mouse,
	which is the part people miss.

------------------------------------------------------------*/
.wp-block-table {
  margin: 24px 0 48px;
  max-width: 100%;
  overflow-x: auto;
}
.wp-block-table[tabindex]:focus-visible {
  outline: 2px solid #2A1F13;
  outline-offset: 2px;
}

table {
  border-collapse: collapse;
  font-family: "Hanken Grotesk", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 13px;
  line-height: 1.5;
  min-width: 32em;
  text-align: left;
  width: 100%;
}

th,
td {
  border-bottom: 1px solid #D9D0BD;
  padding: 8px 16px 8px 0;
  vertical-align: top;
}
th:last-child,
td:last-child {
  padding-right: 0;
}

th {
  border-bottom-color: #2A1F13;
  font-size: 11px;
  font-weight: 500;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  white-space: nowrap;
}

tbody tr:last-child th,
tbody tr:last-child td {
  border-bottom: 0;
}

/* Layout
-------------------------*/
/*------------------------------------------------------------

	Stylesheet: Main

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

	Stylesheet: Global Layout

------------------------------------------------------------*/
body {
  opacity: 1;
  transition: opacity 0.2s ease;
}
body.fade-out {
  opacity: 0;
}

.skip-link:focus {
  background: #F7F4EC;
  clip: auto;
  clip-path: none;
  color: #2A1F13;
  height: auto;
  left: 16px;
  padding: 8px 16px;
  top: 16px;
  width: auto;
  z-index: 1100;
}

.container {
  position: relative;
}

.content .wrapper {
  margin-left: auto;
  margin-right: auto;
  max-width: 1200px;
  padding-left: 24px;
  padding-right: 24px;
  width: 100%;
}

html {
  scroll-padding-top: 80px;
}

#container {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
  min-height: 100dvh;
  padding-top: 72px;
}

.header-overlay #container {
  padding-top: 0;
}

#content {
  flex: 1 0 auto;
}

#inner-content {
  padding-top: clamp(2.5rem, 2.5rem + (1vw - 3.2px) * 3.5682426405, 5rem);
  padding-bottom: clamp(4rem, 4rem + (1vw - 3.2px) * 4.2818911686, 7rem);
}

#main {
  min-width: 0;
}

.wrap {
  margin-left: auto;
  margin-right: auto;
  max-width: 1200px;
  padding-left: 24px;
  padding-right: 24px;
  width: 100%;
}

.cf::after {
  clear: both;
  content: "";
  display: table;
}

.alignleft {
  float: left;
  margin: 0 24px 16px 0;
}

.alignright {
  float: right;
  margin: 0 0 16px 24px;
}

.aligncenter {
  display: block;
  margin-left: auto;
  margin-right: auto;
}

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

.wp-caption-text,
.gallery-caption {
  color: #665E50;
  font-size: 13px;
  margin-top: 4px;
}

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

	Stylesheet: Main

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

	Stylesheet: Typography

------------------------------------------------------------*/
:root {
  font-optical-sizing: auto;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-weight: 280;
  letter-spacing: -0.005em;
  line-height: 1.04;
  margin-bottom: 16px;
}

h1 {
  font-size: 44px;
}

h2 {
  font-size: 28px;
}

h3 {
  font-size: 20px;
}

h4 {
  font-size: 17px;
}

h5 {
  font-size: 17px;
}

h6 {
  font-size: 13px;
}

p {
  margin-bottom: 16px;
}
p:last-child {
  margin-bottom: 0;
}

a {
  color: #2A1F13;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
  transition: opacity 320ms cubic-bezier(0.33, 0.02, 0.2, 1);
}
a:hover {
  opacity: 0.55;
}
a:focus-visible {
  outline: 2px solid #2A1F13;
  outline-offset: 2px;
}

.entry-content ul,
.entry-content ol,
.content .wrapper ul,
.content .wrapper ol {
  margin-bottom: 16px;
  padding-left: 48px;
}
.entry-content ul,
.content .wrapper ul {
  list-style: disc;
}
.entry-content ol,
.content .wrapper ol {
  list-style: decimal;
}
.entry-content li,
.content .wrapper li {
  margin-bottom: 4px;
}

blockquote {
  border-left: 4px solid #2A1F13;
  font-style: italic;
  margin-bottom: 24px;
  padding: 16px 24px;
}
blockquote p:last-child {
  margin-bottom: 0;
}
blockquote cite {
  color: #665E50;
  display: block;
  font-size: 13px;
  font-style: normal;
  margin-top: 8px;
}

code,
kbd,
pre,
samp {
  font-family: "Courier New", Courier, monospace;
  font-size: 0.9em;
}

code {
  background-color: #F0EADD;
  border-radius: 0;
  padding: 2px 5px;
}

pre {
  background-color: #F0EADD;
  border-radius: 0;
  margin-bottom: 24px;
  overflow-x: auto;
  padding: 16px;
}
pre code {
  background: none;
  padding: 0;
}

hr {
  border: 0;
  border-top: 1px solid #D9D0BD;
  margin: 48px 0;
}

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

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

	Stylesheet: Main

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

	Stylesheet: Header

	Static on cream; on the Home hero it overlays the
	photograph (.overlay) with the cream wordmark. Nav is
	the working layer: Hanken labels, tracked, uppercase.

------------------------------------------------------------*/
.site-header {
  background-color: transparent;
  border-bottom: 1px solid transparent;
  left: 0;
  position: fixed;
  top: 0;
  transition: background-color 320ms cubic-bezier(0.33, 0.02, 0.2, 1), border-color 320ms cubic-bezier(0.33, 0.02, 0.2, 1);
  width: 100%;
  z-index: 200;
}
.site-header .wrap {
  align-items: center;
  display: flex;
  justify-content: space-between;
  max-width: none;
  padding: 28px clamp(20px, 4.5vw, 64px);
  transition: padding 320ms cubic-bezier(0.33, 0.02, 0.2, 1);
}
.site-header.overlay:not(.is-compact) .logo-ink {
  display: none;
}
.site-header.overlay:not(.is-compact) .logo-cream {
  display: block;
}
.site-header.overlay:not(.is-compact) .main-nav a {
  color: #F7F4EC;
}
.site-header.overlay:not(.is-compact) .nav-toggle span {
  background-color: #F7F4EC;
}
.site-header.is-compact {
  background-color: #F7F4EC;
  border-bottom-color: #D9D0BD;
}
.site-header.is-compact .wrap {
  padding-bottom: 14px;
  padding-top: 14px;
}
.site-header.is-compact .logo img {
  width: min(170px, 38vw);
}

.admin-bar .site-header {
  top: var(--wp-admin--admin-bar--height, 32px);
}

@media (prefers-reduced-motion: reduce) {
  .site-header,
  .site-header .wrap,
  .site-header .logo img {
    transition: none;
  }
}
.logo {
  display: block;
  transition: opacity 150ms cubic-bezier(0.33, 0.02, 0.2, 1);
}
.logo:focus-visible {
  outline: 2px solid #2A1F13;
  outline-offset: 2px;
}

.logo.is-flown {
  opacity: 0;
  pointer-events: none;
}
.logo img {
  display: block;
  height: auto;
  transition: width 320ms cubic-bezier(0.33, 0.02, 0.2, 1);
  width: min(230px, 44vw);
}
.logo .logo-cream {
  display: none;
}

.main-nav {
  display: none;
}
@media (min-width: 768px) {
  .main-nav {
    display: block;
  }
}
.main-nav ul {
  display: flex;
  gap: 48px;
  list-style: none;
  margin: 0;
  padding: 0;
}
.main-nav a {
  color: #2A1F13;
  font-family: "Hanken Grotesk", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 11px;
  font-weight: 500;
  letter-spacing: 0.16em;
  text-decoration: none;
  text-transform: uppercase;
  transition: opacity 320ms cubic-bezier(0.33, 0.02, 0.2, 1);
}
.main-nav a:hover {
  opacity: 0.55;
}
.main-nav a:focus-visible {
  outline: 2px solid #2A1F13;
  outline-offset: 2px;
}

.main-nav .current-menu-item > a,
.main-nav .current-menu-ancestor > a {
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 6px;
}

.nav-toggle {
  align-items: center;
  background: none;
  border: none;
  color: #2A1F13;
  cursor: pointer;
  display: inline-flex;
  flex-direction: column;
  justify-content: center;
  min-height: 44px;
  min-width: 44px;
  padding: 8px;
}
.nav-toggle:focus-visible {
  outline: 2px solid #2A1F13;
  outline-offset: 2px;
}

@media (min-width: 768px) {
  .nav-toggle {
    display: none;
  }
}
.nav-toggle span {
  background-color: #2A1F13;
  display: block;
  height: 1px;
  margin-bottom: 6px;
  transition: transform 150ms cubic-bezier(0.33, 0.02, 0.2, 1);
  width: 24px;
}
.nav-toggle span:last-child {
  margin-bottom: 0;
}
.nav-toggle.is-active span:nth-child(1) {
  transform: translateY(7px) rotate(45deg);
}
.nav-toggle.is-active span:nth-child(2) {
  opacity: 0;
}
.nav-toggle.is-active span:nth-child(3) {
  transform: translateY(-7px) rotate(-45deg);
}

.nav-open .site-header {
  background-color: #2A1F13;
}
.nav-open .site-header .logo-ink {
  display: none;
}
.nav-open .site-header .logo-cream {
  display: block;
}
.nav-open .site-header .nav-toggle span {
  background-color: #F7F4EC;
}
.nav-open .site-header .main-nav {
  background-color: #2A1F13;
  display: block;
  left: 0;
  padding: 8px clamp(20px, 4.5vw, 64px) 24px;
  position: absolute;
  top: 100%;
  width: 100%;
}
.nav-open .site-header .main-nav ul {
  flex-direction: column;
  gap: 0;
}
.nav-open .site-header .main-nav a {
  color: #F7F4EC;
  display: block;
  padding: 16px 0;
}

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

	Stylesheet: Main

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

	Stylesheet: Footer

	On the page ground, opened by a hairline rule: wordmark,
	label links (Portfolio · About · Instagram), location.
	Reference register: a mark, a handle, nothing else.

------------------------------------------------------------*/
.site-footer {
  flex-shrink: 0;
  margin-top: auto;
}
.site-footer .wrap {
  border-top: 1px solid #D9D0BD;
  max-width: none;
  padding: 24px clamp(20px, 4.5vw, 64px) 48px;
}

.footer-row {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 24px 64px;
  justify-content: space-between;
  padding-top: 8px;
}

.footer-logo {
  display: block;
}
.footer-logo:focus-visible {
  outline: 2px solid #2A1F13;
  outline-offset: 2px;
}

.footer-logo img {
  display: block;
  height: auto;
  width: min(190px, 44vw);
}

.footer-links {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 48px;
}

.footer-nav ul,
.footer-social {
  display: flex;
  flex-wrap: wrap;
  gap: 48px;
  list-style: none;
  margin: 0;
  padding: 0;
}

.footer-social a, .footer-nav a {
  align-items: center;
  color: #2A1F13;
  display: inline-flex;
  font-family: "Hanken Grotesk", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 11px;
  font-weight: 500;
  letter-spacing: 0.16em;
  min-height: 44px;
  text-decoration: none;
  text-transform: uppercase;
  transition: opacity 320ms cubic-bezier(0.33, 0.02, 0.2, 1);
}
.footer-social a:hover, .footer-nav a:hover {
  opacity: 0.55;
}

.footer-nav a:focus-visible {
  outline: 2px solid #2A1F13;
  outline-offset: 2px;
}

.footer-social a:focus-visible {
  outline: 2px solid #2A1F13;
  outline-offset: 2px;
}

.footer-place {
  color: #665E50;
  font-family: "Hanken Grotesk", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 13px;
  margin: 0;
}

.footer-utility {
  align-items: baseline;
  display: flex;
  flex-direction: column;
  gap: 8px;
  justify-content: space-between;
  margin-top: 24px;
}
@media (min-width: 768px) {
  .footer-utility {
    flex-direction: row;
    gap: 24px;
  }
}

.footer-copy {
  color: #665E50;
  font-family: "Hanken Grotesk", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 11px;
  letter-spacing: 0.04em;
  margin: 0;
}
.footer-copy a {
  color: inherit;
  display: inline-block;
  margin: -6px 0;
  padding: 6px 0;
}
.footer-copy a:focus-visible {
  outline: 2px solid #2A1F13;
  outline-offset: 2px;
}

.footer-legal {
  display: flex;
  gap: 24px;
  list-style: none;
  margin: 0;
  padding: 0;
}
.footer-legal a {
  color: #665E50;
  font-family: "Hanken Grotesk", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 11px;
  letter-spacing: 0.04em;
  text-decoration: none;
  transition: opacity 320ms cubic-bezier(0.33, 0.02, 0.2, 1);
}
.footer-legal a:focus-visible {
  outline: 2px solid #2A1F13;
  outline-offset: 2px;
}

.footer-legal a:hover {
  opacity: 0.55;
}

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

	Stylesheet: Main

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

	Stylesheet: Contact Module

	Intro line, the label/value contact block (identity-guide
	register), then the enquiry form.

------------------------------------------------------------*/
.contact {
  padding: 48px clamp(20px, 4.5vw, 64px) 96px;
}
.contact .section-label {
  color: #665E50;
  font-family: "Hanken Grotesk", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 11px;
  font-weight: 500;
  letter-spacing: 0.16em;
  line-height: 1.55;
  margin: 0;
  text-transform: uppercase;
}
.contact .lede {
  font-family: "Newsreader", Georgia, "Times New Roman", serif;
  font-weight: 280;
  font-size: clamp(1.75rem, 1.75rem + (1vw - 3.2px) * 1.4272970562, 2.75rem);
  letter-spacing: -0.005em;
  line-height: 1.04;
  margin: 16px 0 0;
  max-width: 22em;
}
.contact .details {
  border-top: 1px solid #D9D0BD;
  display: grid;
  gap: 24px;
  grid-template-columns: 1fr;
  margin-top: 48px;
  padding-top: 24px;
}
@media (min-width: 768px) {
  .contact .details {
    grid-template-columns: repeat(4, auto);
    justify-content: start;
    -moz-column-gap: 96px;
         column-gap: 96px;
  }
}
.contact .details .label {
  color: #665E50;
  font-family: "Hanken Grotesk", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 11px;
  font-weight: 500;
  letter-spacing: 0.16em;
  margin-bottom: 4px;
  text-transform: uppercase;
}
.contact .details a,
.contact .details .value {
  color: #2A1F13;
  font-size: 17px;
}
.contact .details a {
  text-decoration: none;
  transition: opacity 320ms cubic-bezier(0.33, 0.02, 0.2, 1);
}
.contact .details a:hover {
  opacity: 0.55;
}
.contact .details a:focus-visible {
  outline: 2px solid #2A1F13;
  outline-offset: 2px;
}

.contact .enquiry {
  border-top: 1px solid #D9D0BD;
  display: grid;
  gap: 64px;
  grid-template-columns: 1fr;
  margin-top: 48px;
  padding-top: 24px;
}
@media (min-width: 768px) {
  .contact .enquiry {
    align-items: center;
    gap: 96px;
    grid-template-columns: 7fr 4fr;
  }
}
.contact .photo {
  margin: 0;
}
.contact .photo img {
  display: block;
  height: auto;
  width: 100%;
}
.contact .form {
  max-width: 792px;
}
.contact .form .section-label {
  margin-bottom: 24px;
}

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

	Stylesheet: Main

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

	Stylesheet: Call to Action

------------------------------------------------------------*/
.cta {
  background: #2A1F13;
  color: #F7F4EC;
  overflow: hidden;
  position: relative;
}
.cta .background {
  inset: 0;
  position: absolute;
  z-index: 0;
}
.cta .background img {
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
}
.cta .background .screen {
  background: rgba(0, 0, 0, 0.5);
  inset: 0;
  position: absolute;
}
.cta .content {
  padding-top: clamp(4rem, 4rem + (1vw - 3.2px) * 4.2818911686, 7rem);
  padding-bottom: clamp(4rem, 4rem + (1vw - 3.2px) * 4.2818911686, 7rem);
  position: relative;
  text-align: center;
  z-index: 1;
}
.cta .wrapper *:last-child {
  margin-bottom: 0;
}

.cta .wrapper .subtitle {
  color: #E5DCC9;
  margin-bottom: 8px;
}
.cta .wrapper .actions {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  justify-content: center;
  margin-top: 24px;
}

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

	Stylesheet: Main

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

	Stylesheet: Gallery Module (the Portfolio)

	Two staggered columns of photographs at native ratio.
	No captions, no hover states naming anything — the
	photographs are the page.

------------------------------------------------------------*/
.gallery {
  padding: 64px clamp(20px, 4.5vw, 64px) 96px;
}
.gallery .section-label.is-hidden {
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  height: 1px;
  overflow: hidden;
  position: absolute;
  white-space: nowrap;
  width: 1px;
}
.gallery .section-label {
  color: #665E50;
  font-family: "Hanken Grotesk", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 11px;
  font-weight: 500;
  letter-spacing: 0.16em;
  line-height: 1.55;
  margin: 0 0 48px;
  text-transform: uppercase;
}
@media (min-width: 768px) {
  .gallery .grid {
    display: flex;
    gap: 24px;
  }
}
.gallery .col {
  display: contents;
}
@media (min-width: 768px) {
  .gallery .col {
    display: block;
    flex: 1 1 0;
    min-width: 0;
  }
}
.gallery .photo {
  margin: 0 0 24px;
}
.gallery .photo .unveil {
  display: block;
}
.gallery .photo .frame {
  background: none;
  border: 0;
  cursor: zoom-in;
  display: block;
  padding: 0;
  width: 100%;
}
.gallery .photo .frame:focus-visible {
  outline: 2px solid #2A1F13;
  outline-offset: 2px;
}

.gallery .photo img {
  display: block;
  height: auto;
  width: 100%;
}

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

	Full-screen viewer

	Minimal: the photograph on an ink ground, a close mark, a
	tabular counter and two arrows. Opened by scripts.js from any
	gallery photograph; inert (and display:none) until then.

------------------------------------------------------------*/
.lightbox {
  background: #2A1F13;
  inset: 0;
  opacity: 0;
  position: fixed;
  transition: opacity 320ms cubic-bezier(0.33, 0.02, 0.2, 1);
  z-index: 1000;
}
.lightbox.is-open {
  opacity: 1;
}
.lightbox[hidden] {
  display: none;
}

.lightbox-stage {
  align-items: center;
  display: flex;
  height: 100%;
  justify-content: center;
  padding: 96px clamp(20px, 4.5vw, 64px);
  position: relative;
}

.lightbox-image {
  display: block;
  max-height: 100%;
  max-width: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}

.lightbox-next, .lightbox-prev, .lightbox-close {
  background: none;
  border: 0;
  color: #F7F4EC;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
  min-height: 44px;
  min-width: 44px;
  padding: 0;
  transition: opacity 320ms cubic-bezier(0.33, 0.02, 0.2, 1);
}
.lightbox-next:hover, .lightbox-prev:hover, .lightbox-close:hover {
  opacity: 0.55;
}

.lightbox-close {
  font-family: "Hanken Grotesk", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 26px;
  position: absolute;
  right: clamp(20px, 4.5vw, 64px);
  top: 24px;
}
.lightbox-close:focus-visible {
  outline: 2px solid #F7F4EC;
  outline-offset: 2px;
}

.lightbox-count {
  align-items: center;
  bottom: 24px;
  color: #F7F4EC;
  display: flex;
  font-family: "Hanken Grotesk", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 11px;
  font-variant-numeric: tabular-nums;
  left: clamp(20px, 4.5vw, 64px);
  letter-spacing: 0.16em;
  margin: 0;
  min-height: 44px;
  position: absolute;
}

.lightbox-nav {
  bottom: 24px;
  display: flex;
  gap: 24px;
  position: absolute;
  right: clamp(20px, 4.5vw, 64px);
}

.lightbox-prev {
  font-family: "Hanken Grotesk", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 20px;
}
.lightbox-prev:focus-visible {
  outline: 2px solid #F7F4EC;
  outline-offset: 2px;
}

.lightbox-next {
  font-family: "Hanken Grotesk", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 20px;
}
.lightbox-next:focus-visible {
  outline: 2px solid #F7F4EC;
  outline-offset: 2px;
}

.lightbox-open {
  overflow: hidden;
}

@media (prefers-reduced-motion: reduce) {
  .lightbox {
    transition: none;
  }
}
/*------------------------------------------------------------

	The wall's row

	Above the wall and in the flow, on the page's own cream:
	the count at the left, the size control at the right, the
	same shape as Selected Work on Home. It floated over the
	foot of the viewport first, where the marks read against
	whichever photograph happened to be underneath, which is a
	contrast that changes as you scroll. On the page's ground
	there is nothing to read against but cream.

------------------------------------------------------------*/
.wall-bar {
  align-items: center;
  display: flex;
  justify-content: space-between;
  margin-bottom: 24px;
  min-height: 44px;
}
.wall-bar .section-label {
  margin: 0;
}

.gallery-density {
  display: none;
  gap: 8px;
}
.gallery-density[hidden] {
  display: none;
}
@media (min-width: 768px) {
  .gallery-density:not([hidden]) {
    display: flex;
  }
}

.density {
  align-items: center;
  background: none;
  border: 0;
  color: #665E50;
  cursor: pointer;
  display: inline-flex;
  justify-content: center;
  min-height: 44px;
  min-width: 32px;
  padding: 0;
  transition: color 320ms cubic-bezier(0.33, 0.02, 0.2, 1);
}
.density:focus-visible {
  outline: 2px solid #2A1F13;
  outline-offset: 2px;
}

.density:hover {
  color: #2A1F13;
}
.density[aria-pressed=true] {
  color: #2A1F13;
}
.density .bars {
  display: flex;
  gap: 2px;
  height: 15px;
  width: 16px;
}
.density .bars span {
  background-color: currentcolor;
  flex: 1 1 0;
}

@media (prefers-reduced-motion: reduce) {
  .density {
    transition: none;
  }
}
/*------------------------------------------------------------

	Stylesheet: Main

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

	Stylesheet: Hero

------------------------------------------------------------*/
.hero {
  background: #2A1F13;
  color: #F7F4EC;
  overflow: hidden;
  position: relative;
}
.hero .background {
  inset: 0;
  position: absolute;
  z-index: 0;
}
.hero .background img {
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
}
.hero .background .screen {
  background: rgba(0, 0, 0, 0.4);
  inset: 0;
  position: absolute;
}
.hero .content {
  padding-top: clamp(4rem, 4rem + (1vw - 3.2px) * 4.2818911686, 7rem);
  padding-bottom: clamp(4rem, 4rem + (1vw - 3.2px) * 4.2818911686, 7rem);
  position: relative;
  z-index: 1;
}
.hero .wrapper *:last-child {
  margin-bottom: 0;
}

.hero .wrapper h1 {
  font-size: clamp(2rem, 2rem + (1vw - 3.2px) * 2.1409455843, 3.5rem);
}
.hero .wrapper .subheading {
  color: #E5DCC9;
}

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

	Stylesheet: Main

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

	Stylesheet: Home Hero Module

	Full-bleed photograph, 86vh, bottom scrim for the cream
	kicker (the H1). The header overlays it (.site-header.overlay).

------------------------------------------------------------*/
.home-hero {
  background-color: #E5DCC9;
  height: 100vh;
  height: 100svh;
  min-height: 560px;
  position: relative;
}
.home-hero .background {
  inset: 0;
  overflow: hidden;
  position: absolute;
}
.home-hero .background .slide {
  height: 100%;
  inset: 0;
  opacity: 0;
  position: absolute;
  transition: opacity 700ms cubic-bezier(0.33, 0.02, 0.2, 1);
  width: 100%;
}
.home-hero .background .slide.is-active {
  opacity: 1;
}
.home-hero .background .slide img {
  display: block;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
}
.home-hero .background .screen {
  background: linear-gradient(180deg, rgba(42, 31, 19, 0.3) 0%, rgba(42, 31, 19, 0) 18%), linear-gradient(to top, rgba(42, 31, 19, 0.55) 0, rgba(42, 31, 19, 0.55) 180px, rgba(42, 31, 19, 0) 320px);
  inset: 0;
  pointer-events: none;
  position: absolute;
}
.home-hero .kicker {
  align-items: center;
  bottom: 64px;
  color: #F7F4EC;
  display: flex;
  font-family: "Hanken Grotesk", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 11px;
  font-weight: 500;
  left: clamp(20px, 4.5vw, 64px);
  letter-spacing: 0.16em;
  margin: 0;
  min-height: 44px;
  position: absolute;
  text-transform: uppercase;
}
.home-hero .scroll-cue {
  align-items: center;
  bottom: 64px;
  color: #F7F4EC;
  display: flex;
  left: 50%;
  min-height: 44px;
  pointer-events: none;
  position: absolute;
  transform: translateX(-50%);
}
.home-hero .scroll-cue span {
  animation: omens-scroll-cue 2.4s cubic-bezier(0.33, 0.02, 0.2, 1) 1200ms infinite;
  display: block;
  font-family: "Hanken Grotesk", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 20px;
  line-height: 1;
  opacity: 0;
}
.home-hero .dots {
  bottom: 64px;
  display: flex;
  position: absolute;
  right: clamp(20px, 4.5vw, 64px);
}
.home-hero .hero-pause {
  align-items: center;
  background: none;
  border: none;
  cursor: pointer;
  display: inline-flex;
  justify-content: center;
  min-height: 44px;
  min-width: 32px;
  padding: 0;
}
.home-hero .hero-pause:focus-visible {
  outline: 2px solid #F7F4EC;
  outline-offset: 2px;
}

.home-hero .hero-pause[hidden] {
  display: none;
}
.home-hero .hero-pause .pause-mark {
  border-left: 2px solid #F7F4EC;
  border-right: 2px solid #F7F4EC;
  display: block;
  height: 9px;
  width: 7px;
}
.home-hero .hero-pause.is-paused .pause-mark {
  border-bottom: 4px solid transparent;
  border-left: 7px solid #F7F4EC;
  border-right: 0;
  border-top: 4px solid transparent;
  height: 0;
  width: 0;
}
.home-hero .dot {
  align-items: center;
  background: none;
  border: none;
  cursor: pointer;
  display: inline-flex;
  justify-content: center;
  min-height: 44px;
  min-width: 32px;
  padding: 0;
}
.home-hero .dot:focus-visible {
  outline: 2px solid #F7F4EC;
  outline-offset: 2px;
}

.home-hero .dot span {
  background-color: transparent;
  border: 1px solid #F7F4EC;
  border-radius: 50%;
  display: block;
  height: 7px;
  transition: background-color 320ms cubic-bezier(0.33, 0.02, 0.2, 1);
  width: 7px;
}
.home-hero .dot.is-active span {
  background-color: #F7F4EC;
}

@media (max-width: 767px) {
  .home-hero .dot,
  .home-hero .hero-pause {
    min-width: 24px;
  }
  .home-hero .kicker {
    bottom: 116px;
  }
  .home-hero .slide.is-wide-only,
  .home-hero .dot.is-wide-only {
    display: none;
  }
  .home-hero .scroll-cue {
    display: none;
  }
}
.hero-logo {
  display: block;
  left: 0;
  pointer-events: none;
  position: fixed;
  top: 0;
  will-change: transform, width;
  z-index: 201;
}
.hero-logo[hidden] {
  display: none;
}
.hero-logo img {
  display: block;
  height: auto;
  width: 100%;
}
.hero-logo .logo-ink {
  inset: 0;
  opacity: 0;
  position: absolute;
}

.home-hero .background .slide:first-child {
  animation: omens-hero-settle 1600ms cubic-bezier(0.33, 0.02, 0.2, 1) both;
}

.hero-logo .logo-cream {
  animation: omens-hero-rise 900ms cubic-bezier(0.33, 0.02, 0.2, 1) 200ms both;
}

.home-hero .kicker {
  animation: omens-hero-fade 700ms cubic-bezier(0.33, 0.02, 0.2, 1) 550ms both;
}

.home-hero .dots {
  animation: omens-hero-fade 700ms cubic-bezier(0.33, 0.02, 0.2, 1) 810ms both;
}

@keyframes omens-hero-settle {
  from {
    transform: scale(1.045);
  }
  to {
    transform: scale(1);
  }
}
@keyframes omens-hero-rise {
  from {
    opacity: 0;
    transform: translateY(28px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes omens-hero-fade {
  from {
    opacity: 0;
    transform: translateY(12px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes omens-scroll-cue {
  0% {
    opacity: 0;
    transform: translateY(-8px);
  }
  35% {
    opacity: 1;
  }
  100% {
    opacity: 0;
    transform: translateY(10px);
  }
}
@media (prefers-reduced-motion: reduce) {
  .home-hero .background .slide,
  .home-hero .dot span {
    transition: none;
  }
  .home-hero .background .slide:first-child,
  .hero-logo .logo-cream,
  .home-hero .kicker,
  .home-hero .dots {
    animation: none;
  }
  .home-hero .scroll-cue span {
    animation: none;
    opacity: 1;
  }
}
/*------------------------------------------------------------

	Stylesheet: Main

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

	Stylesheet: Icon Boxes

------------------------------------------------------------*/
.icon-boxes {
  padding-top: clamp(2.5rem, 2.5rem + (1vw - 3.2px) * 3.5682426405, 5rem);
  padding-bottom: clamp(4rem, 4rem + (1vw - 3.2px) * 4.2818911686, 7rem);
  background: #F0EADD;
}
.icon-boxes header {
  margin-bottom: 48px;
  text-align: center;
}
.icon-boxes header *:last-child {
  margin-bottom: 0;
}

.icon-boxes .boxes {
  display: grid;
  gap: 24px;
  grid-template-columns: 1fr;
}
@media (min-width: 768px) {
  .icon-boxes .boxes {
    grid-template-columns: repeat(3, 1fr);
  }
}
.icon-boxes .box {
  background: #F7F4EC;
  border: 1px solid #D9D0BD;
  border-radius: 0;
  padding: 24px;
}
.icon-boxes .box *:last-child {
  margin-bottom: 0;
}

.icon-boxes .box .icon {
  height: 48px;
  margin-bottom: 16px;
  width: 48px;
}
.icon-boxes .box .icon img {
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
  width: 100%;
}
.icon-boxes .box h3 {
  margin-bottom: 8px;
}

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

	Stylesheet: Main

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

	Stylesheet: Introduction

------------------------------------------------------------*/
.intro {
  padding-top: clamp(2.5rem, 2.5rem + (1vw - 3.2px) * 3.5682426405, 5rem);
  padding-bottom: clamp(4rem, 4rem + (1vw - 3.2px) * 4.2818911686, 7rem);
  background: #F7F4EC;
}
.intro .wrapper {
  margin-left: auto;
  margin-right: auto;
  max-width: 792px;
  text-align: center;
}
.intro .wrapper *:last-child {
  margin-bottom: 0;
}

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

	Stylesheet: Main

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

	Stylesheet: Selected Work Module

	Three photographic tiles at native ratio, middle tile
	dropped a step. All roads lead to the Portfolio.

------------------------------------------------------------*/
.selected-work {
  padding: 0 clamp(20px, 4.5vw, 64px) 96px;
}
.selected-work .heading-row {
  align-items: baseline;
  display: flex;
  justify-content: space-between;
  margin-bottom: 24px;
}
.selected-work .section-label {
  color: #665E50;
  font-family: "Hanken Grotesk", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 11px;
  font-weight: 500;
  letter-spacing: 0.16em;
  line-height: 1.55;
  margin: 0;
  text-transform: uppercase;
}
.selected-work .all-link {
  color: #2A1F13;
  font-family: "Hanken Grotesk", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 11px;
  font-weight: 500;
  letter-spacing: 0.16em;
  text-decoration: none;
  text-transform: uppercase;
  transition: opacity 320ms cubic-bezier(0.33, 0.02, 0.2, 1);
}
.selected-work .all-link:hover {
  opacity: 0.55;
}
.selected-work .all-link:focus-visible {
  outline: 2px solid #2A1F13;
  outline-offset: 2px;
}

.selected-work .tiles {
  display: grid;
  gap: 24px;
  grid-template-columns: 1fr;
}
@media (min-width: 768px) {
  .selected-work .tiles {
    align-items: start;
    gap: 24px;
    grid-template-columns: repeat(3, 1fr);
  }
}
.selected-work .tile {
  display: block;
  text-decoration: none;
  transition: opacity 320ms cubic-bezier(0.33, 0.02, 0.2, 1);
  will-change: transform;
}
.selected-work .tile .unveil {
  display: block;
}
.selected-work .tile:hover {
  opacity: 0.55;
}
.selected-work .tile:focus-visible {
  outline: 2px solid #2A1F13;
  outline-offset: 2px;
}

@media (min-width: 768px) {
  .selected-work .tile:nth-child(2) {
    margin-top: 64px;
  }
}
.selected-work .tile .frame {
  display: block;
  overflow: hidden;
}
.selected-work .tile .frame img {
  display: block;
  height: auto;
  width: 100%;
}
.selected-work .tile .title {
  color: #2A1F13;
  display: block;
  font-family: "Hanken Grotesk", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 13px;
  letter-spacing: 0.04em;
  margin-top: 8px;
}
.selected-work .tile .place {
  color: #665E50;
  display: block;
  font-family: "Hanken Grotesk", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 11px;
  letter-spacing: 0.04em;
  margin-top: 2px;
}

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

	Stylesheet: Main

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

	Stylesheet: Services Module

	Hairline-ruled rows: title beside description.

------------------------------------------------------------*/
.services {
  padding: 0 clamp(20px, 4.5vw, 64px) 96px;
}
.services .section-label {
  color: #665E50;
  font-family: "Hanken Grotesk", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 11px;
  font-weight: 500;
  letter-spacing: 0.16em;
  line-height: 1.55;
  margin: 0 0 16px;
  text-transform: uppercase;
}
.services .row {
  border-top: 1px solid #D9D0BD;
  display: grid;
  gap: 16px 64px;
  grid-template-columns: 1fr;
  padding: 24px 0 48px;
}
@media (min-width: 768px) {
  .services .row {
    grid-template-columns: 2fr 3fr;
  }
}
.services .title {
  font-family: "Newsreader", Georgia, "Times New Roman", serif;
  font-size: 28px;
  font-weight: 280;
  letter-spacing: -0.005em;
  line-height: 1.04;
  margin: 0;
}
.services .text {
  color: #454034;
  line-height: 1.55;
  margin: 0;
  max-width: 40em;
}

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

	Stylesheet: Main

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

	Stylesheet: Statement Module

	The one display-serif line the homepage says.

------------------------------------------------------------*/
.statement {
  padding: 96px clamp(20px, 4.5vw, 64px);
}
.statement p {
  font-family: "Newsreader", Georgia, "Times New Roman", serif;
  font-weight: 280;
  font-size: clamp(2rem, 2rem + (1vw - 3.2px) * 1.0704727921, 2.75rem);
  letter-spacing: -0.005em;
  line-height: 1.04;
  margin: 0;
  max-width: 22em;
}
.statement .support {
  color: #454034;
  font-size: 17px;
  font-weight: 400;
  letter-spacing: 0;
  line-height: 1.55;
  margin-top: 24px;
  max-width: 42em;
}

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

	Stylesheet: Main

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

	Stylesheet: Studio Module (About identity block)

	Lucido register: the name large in the display serif,
	role as a tracked label, bio paragraphs, portrait beside.

------------------------------------------------------------*/
.studio {
  display: grid;
  gap: 64px;
  grid-template-columns: 1fr;
  padding: 64px clamp(20px, 4.5vw, 64px) 96px;
}
@media (min-width: 768px) {
  .studio {
    align-items: center;
    gap: 96px;
    grid-template-columns: 7fr 4fr;
  }
}
.studio .name {
  font-family: "Newsreader", Georgia, "Times New Roman", serif;
  font-weight: 280;
  font-size: clamp(2.5rem, 2.5rem + (1vw - 3.2px) * 2.1409455843, 4rem);
  letter-spacing: -0.005em;
  line-height: 1.04;
  margin: 0;
}
.studio .role {
  color: #665E50;
  font-family: "Hanken Grotesk", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 11px;
  font-weight: 500;
  letter-spacing: 0.16em;
  margin-top: 8px;
  text-transform: uppercase;
}
.studio .bio {
  margin-top: 48px;
  max-width: 34em;
}
.studio .bio p {
  line-height: 1.55;
  margin: 0 0 16px;
}
.studio .bio p:last-child {
  margin-bottom: 0;
}
.studio .portrait {
  margin: 0;
}
.studio .portrait img {
  display: block;
  height: auto;
  width: 100%;
}
.studio .portrait figcaption {
  color: #665E50;
  font-family: "Hanken Grotesk", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 13px;
  letter-spacing: 0.04em;
  margin-top: 8px;
}

.about-banner {
  height: clamp(300px, 45vh, 540px);
  overflow: hidden;
  position: relative;
}
.about-banner img {
  display: block;
  height: 130%;
  left: 0;
  -o-object-fit: cover;
     object-fit: cover;
  position: absolute;
  top: -15%;
  width: 100%;
  will-change: transform;
}

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

	Stylesheet: Main

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

	Stylesheet: Home / Front Page

	Page-level overrides only. Modules own their own styles in
	modules/; this file adjusts them for a specific page using
	the body class (.home, .page-template-modules, .page-id-12).
	Empty in the starter on purpose.

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