/*
 * Jonas Wills: independently authored replacement stylesheet.
 * Matches the existing Home / About Me / Contact markup and static.js.
 * No platform stylesheet import, remote fonts, or redesigned content/layout.
 * Loaded after the retained page-specific inline styles.
 * Local browser QA passed; see the review archive for coverage and limitations.
 * Publication and contact delivery still require separate authorization.
 */

/* These five local OFL font files cover the existing English site content. */
@font-face {
  font-family: 'Bricolage Grotesque'; font-style: normal; font-weight: 700;
  font-display: swap; src: url('/assets/5b08ed868779.woff2') format('woff2');
}
@font-face {
  font-family: 'Poppins'; font-style: normal; font-weight: 300;
  font-display: swap; src: url('/assets/2324830297ba.woff2') format('woff2');
}
@font-face {
  font-family: 'Poppins'; font-style: italic; font-weight: 300;
  font-display: swap; src: url('/assets/e41b6a93534e.woff2') format('woff2');
}
@font-face {
  font-family: 'Poppins'; font-style: normal; font-weight: 700;
  font-display: swap; src: url('/assets/938f9ef72aee.woff2') format('woff2');
}
@font-face {
  font-family: 'Poppins'; font-style: italic; font-weight: 700;
  font-display: swap; src: url('/assets/7d80a00f557b.woff2') format('woff2');
}

:root {
  --jw-peach: hsl(30 79.75% 69.02%);
  --jw-teal: hsl(193.75 25.26% 37.25%);
  --jw-ink: hsl(195 14.04% 22.35%);
  --jw-body-size: min(calc(1rem + .096vw), 17.728px);
  --jw-heading-size: min(calc(1rem + 1.8vw), 48.4px);
  --jw-brand-size: min(calc(1rem + 1.2vw), 37.6px);
  --jw-small-size: min(calc(1rem - .144vw), .88rem);
  --jw-cta-size: min(calc(1rem - .372vw), .69rem);
  --jw-page-bg: var(--jw-teal);
  --jw-copy: white;
  --jw-accent: var(--jw-peach);
  --jw-button-text: var(--jw-ink);
  --sqs-site-gutter: 3vw;
  --sqs-mobile-site-gutter: 6vw;
  --sqs-site-max-width: 1800px;
  /* These aliases support the retained, site-specific inline declarations. */
  --darkAccent-hsl: 193.75,25.26%,37.25%;
  --accent-hsl: 30,79.75%,69.02%;
  --black-hsl: 195,14.04%,22.35%;
  --white-hsl: 0,0%,100%;
  --text-highlight-color: var(--jw-accent);
  --header-height: calc(2vw + 55.375px);
  font-size: 16px;
  -webkit-text-size-adjust: 100%;
}

html { min-height: 100%; }
body {
  margin: 0;
  background: var(--jw-page-bg);
  color: var(--jw-copy);
  overflow-wrap: break-word;
}
body#collection-66a70660dc66b24832479ed9,
[data-section-theme='bright'] {
  --jw-page-bg: var(--jw-peach);
  --jw-copy: var(--jw-ink);
  --jw-accent: var(--jw-ink);
  --jw-button-text: var(--jw-peach);
}
body#collection-66a6fddce94a797def184241,
[data-section-theme='bright-inverse'] {
  --jw-page-bg: var(--jw-ink);
  --jw-copy: var(--jw-peach);
  --jw-accent: var(--jw-peach);
  --jw-button-text: var(--jw-ink);
}
[data-section-theme='dark-bold'] {
  --jw-page-bg: var(--jw-teal);
  --jw-copy: white;
  --jw-accent: var(--jw-peach);
  --jw-button-text: var(--jw-ink);
}
[data-section-theme] { --text-highlight-color: var(--jw-accent); }
.site-wrapper {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
  font-family: 'Poppins', sans-serif;
  font-size: var(--jw-body-size);
  font-weight: 300;
  line-height: 1.66;
}
main { flex: 1 0 auto; }
header, main, footer, section, nav { display: block; }
a { color: inherit; text-decoration: none; cursor: pointer; }
button, input, textarea { font-family: inherit; font-size: inherit; margin: 0; }
button { cursor: pointer; }
img { border: 0; }
strong, b { font-weight: 700; }
em, i { font-style: italic; }
[hidden] { display: none !important; }
:focus-visible { outline: 2px solid currentColor; outline-offset: 4px; }
.visually-hidden {
  position: absolute !important;
  width: 1px; height: 1px; margin: -1px; padding: 0;
  overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0;
}

/* Header: the original title-left / navigation-right desktop arrangement. */
.header { position: absolute; inset: 0 0 auto; z-index: 10; line-height: 1; }
.header-announcement-bar-wrapper {
  position: relative; z-index: 2; box-sizing: border-box;
  width: 100%; padding: 1vw 3vw;
}
.header-inner, .header-display-desktop, .header-title-nav-wrapper {
  display: flex; align-items: center;
}
.header-inner { position: relative; width: 100%; }
.header-display-desktop { position: relative; width: 100%; }
.header-title-nav-wrapper { flex: 1 0 67%; flex-wrap: nowrap; }
.header-title { flex: 1 0 auto; }
.header-title-text {
  margin: 0;
  font: 700 var(--jw-brand-size)/1.3 'Bricolage Grotesque', sans-serif;
  text-transform: uppercase;
}
.header-title-text a, .header-nav a { color: var(--jw-accent); }
.header-nav { flex: 1 1 auto; margin-left: auto; padding-left: 2.4vw; text-align: right; }
.header-nav-list { display: inline-flex; flex-wrap: wrap; justify-content: flex-end; }
.header-nav-item { display: inline-flex; line-height: 1.66; }
.header-nav-item + .header-nav-item { margin-left: 1.5vw; }
.header-nav-item a { display: inline-flex; align-items: center; }
.header-nav-item--active > a {
  background: linear-gradient(currentColor, currentColor) repeat-x 0 calc(100% - .1em) / 1px 1px;
}
.header-actions { display: inline-flex; flex: 0 1 auto; align-items: center; }
.header-actions-action--cta { margin-left: 2.4vw; white-space: nowrap; }
.sqs-button-element--tertiary {
  display: inline-block; box-sizing: border-box;
  padding: 1.2rem;
  border: 0 solid transparent; border-radius: 300px;
  background: var(--jw-accent); color: var(--jw-button-text);
  font-family: 'Poppins', sans-serif; font-size: var(--jw-cta-size);
  font-style: normal; font-weight: 700; line-height: normal;
  text-align: center; white-space: nowrap;
  transition: opacity .1s linear;
}
.sqs-button-element--tertiary:hover, .form-submit-button:hover { opacity: .8; }
.header-display-mobile, .header-burger, .showOnMobile { display: none; }
.header-skip-link {
  position: absolute; top: 0; left: 50%; z-index: 3;
  transform: translate(-50%, -200%);
  padding: 1rem 1.5rem; background: var(--jw-accent); color: var(--jw-button-text);
}
.header-skip-link:focus { transform: translate(-50%, 0); }
.header-border, .header-dropshadow, .header-background { display: none; }

/* Menu structure is kept compatible with static.js (including focus trapping). */
.header-menu {
  position: fixed; inset: 0; z-index: 1;
  display: flex; flex-direction: column;
  padding-top: var(--header-height) !important;
  background: var(--jw-teal); color: var(--jw-peach);
  visibility: hidden; opacity: 0; pointer-events: none;
  text-align: left;
  transition: opacity .25s ease, visibility .25s ease;
}
body.header--menu-open { overflow: hidden; }
.header--menu-open .header-menu { visibility: visible; opacity: 1; pointer-events: auto; }
.header--menu-open .header-announcement-bar-wrapper { background: var(--jw-teal); }
.header--menu-open .header-title-text a, .header--menu-open .burger { color: var(--jw-peach); }
.header-menu-nav { position: relative; display: flex; flex: 1 0 auto; flex-direction: column; }
.header-menu-nav-list { position: relative; flex: 1; width: 100%; }
.header-menu-nav-folder {
  position: absolute; inset: 0; overflow: auto;
  display: flex; flex-direction: column; min-height: 100%; max-height: 100%;
}
.header-menu-nav-folder-content { display: flex; flex: 1 0 auto; flex-direction: column; justify-content: center; }
.header-menu-nav-item { padding: 0 3vw; line-height: 1; }
.header-menu-nav-item a { display: inline-flex; align-items: center; margin: 5vw; font-size: 8.5vmin; }
.header-menu-cta a { min-width: 210px; margin: 4vw 6vw 6vw; }
.burger { position: relative; border: 0; padding: 1px 6px; background: transparent; color: var(--jw-accent); }
.burger-box { display: flex; position: relative; align-items: center; justify-content: center; width: 35px; height: 35px; }
.burger-inner { width: 100%; height: 100%; }
.top-bun, .bottom-bun {
  position: absolute; inset: 0 auto 0 0; margin: auto;
  width: 100%; height: 1px; background: currentColor;
  transition: transform .25s ease, width .25s ease;
}
.top-bun { transform: translateY(-5.5px); }
.bottom-bun { transform: translateY(5.5px); }
.patty { display: none; }
.burger--active .top-bun { width: 28px; transform: translateX(3.5px) rotate(-135deg); }
.burger--active .bottom-bun { width: 28px; transform: translateX(3.5px) rotate(135deg); }

/* Three pages retain the original 11px-gap, 24-column / 8-column layouts. */
.page-section {
  position: relative; display: flex; align-items: center; box-sizing: border-box;
  padding-top: var(--header-height);
  background: var(--jw-page-bg); color: var(--jw-copy);
}
.page-section.section-height--medium { min-height: 66vh; }
.page-section > .content-wrapper {
  position: relative; display: flex; justify-content: center;
  box-sizing: border-box; width: 100%; max-width: 100%; padding: 6.6vmax 0;
}
.page-section.section-height--custom > .content-wrapper { padding: 1vmax 0; }
.page-section .content { width: 100%; }
.section-border, .background-pause-button { display: none; }
.fluid-engine {
  --jw-row: calc(min(1800px, 94vw) * .0215);
  --jw-column: calc((1800px - 253px) / 24);
  display: grid; position: relative; grid-area: 1 / 1 / -1 / -1;
  grid-template-columns: minmax(calc(3vw - 11px), 1fr) repeat(24, minmax(0, var(--jw-column))) minmax(calc(3vw - 11px), 1fr);
  gap: 11px; overflow-x: clip;
}
.fe-66a6f32dc7f83d3be1ce9ed0 { grid-template-rows: repeat(21, minmax(var(--jw-row), auto)); }
.fe-66a70660dc66b24832479edb { grid-template-rows: repeat(61, minmax(var(--jw-row), auto)); }
.fe-66a700ed4aab0d2bc70dcadd { grid-template-rows: repeat(22, minmax(var(--jw-row), auto)); }
.fe-block > .sqs-block { position: relative; display: flex; flex-direction: column; width: 100%; height: 100%; padding: 0; }
.fe-block .sqs-block-content { width: 100%; }
.fe-block-39ab1518a375961b38ed { grid-area: 2 / 9 / 6 / 20; z-index: 0; }
.fe-block-06669ac92c7da1673d79 { grid-area: 2 / 4 / 8 / 8; z-index: 3; }
.fe-block-yui_3_17_2_1_1722217246816_6811 { grid-area: 6 / 9 / 16 / 20; z-index: 4; }
.fe-block-87aea9bba287df9b7f6f { grid-area: 1 / 15 / 37 / 26; z-index: 0; }
.fe-block-e83a9d1441f03c59bde4 { grid-area: 1 / 2 / 3 / 13; z-index: 1; }
.fe-block-d15b5d305211cc475343 { grid-area: 3 / 2 / 42 / 13; z-index: 2; }
.fe-block-yui_3_17_2_1_1722220647439_2723 { grid-area: 1 / 9 / 6 / 19; z-index: 1; }
.fe-block-yui_3_17_2_1_1722220647439_6404 { grid-area: 6 / 9 / 22 / 19; z-index: 2; }
.fe-block-39ab1518a375961b38ed > .sqs-block,
.fe-block-06669ac92c7da1673d79 > .sqs-block,
.fe-block-87aea9bba287df9b7f6f > .sqs-block,
.fe-block-e83a9d1441f03c59bde4 > .sqs-block,
.fe-block-d15b5d305211cc475343 > .sqs-block { justify-content: center; }
.fe-block-yui_3_17_2_1_1722217246816_6811 > .sqs-block,
.fe-block-yui_3_17_2_1_1722220647439_2723 > .sqs-block,
.fe-block-yui_3_17_2_1_1722220647439_6404 > .sqs-block { justify-content: flex-start; }

/* Typography and the captured, double-line text decorations. */
.sqs-html-content h3 {
  margin: 2rem 0; color: var(--jw-accent);
  font: 700 var(--jw-heading-size)/1.222 'Bricolage Grotesque', sans-serif;
  text-transform: uppercase;
}
.sqs-html-content p { margin: 1rem 0; line-height: 1.66; }
.sqs-html-content > :first-child { margin-top: 0; }
.sqs-html-content > :last-child { margin-bottom: 0; }
.sqs-html-content a {
  color: var(--jw-accent); white-space: initial;
  text-decoration: underline solid currentColor 1px; text-underline-offset: .2em;
}
.sqs-html-content .sqsrte-text-highlight a { text-decoration: none; }
.sqs-block-html .sqs-block-content { position: relative; z-index: 0; }
.TextShape-node { position: absolute; display: block; pointer-events: none; user-select: none; z-index: -1; }
.TextShape-node svg {
  position: absolute; inset: 0; display: block; width: 100%; height: 100%; overflow: visible;
  stroke: var(--stroke, var(--jw-accent)); stroke-width: max(1px, var(--stroke-width, .1em));
  stroke-linecap: var(--stroke-linecap, square); stroke-linejoin: var(--stroke-linejoin, bevel); fill: none;
}

/* Original portrait assets, centered circular home crop and rounded about crop. */
.sqs-block-image .sqs-block-content,
.fluid-image-component-root,
.fluid-image-animation-wrapper { width: 100%; height: 100%; }
.fluid-image-animation-wrapper { display: flex; align-items: center; justify-content: center; }
.image-position-right .fluid-image-animation-wrapper { justify-content: flex-end; }
.fluid-image-container { position: relative; width: 100%; height: 100%; overflow: hidden; }
.js-content-mode-element-wrapper { position: relative; width: 100%; height: 100%; }
.content-fill, .content-fill img { position: absolute; inset: 0; display: block; width: 100%; height: 100%; }
.content-fill img { object-fit: cover; object-position: var(--image-component-focal-point, center); }
.fluidImageOverlay { display: none; }
#block-06669ac92c7da1673d79 .fluid-image-container {
  height: auto; aspect-ratio: 1; border-radius: 50%; clip-path: none; -webkit-clip-path: none;
}
#block-87aea9bba287df9b7f6f .fluid-image-container { border-radius: 50px; }

/* Contact form preserves the current unconnected/local-preview behavior. */
#block-yui_3_17_2_1_1722220647439_6404 {
  box-sizing: border-box; border: 6px solid var(--jw-teal); border-radius: 10px;
}
.form-wrapper { display: grid; padding: 6%; }
.form-wrapper form, .form-wrapper fieldset, .form-wrapper legend { margin: 0; padding: 0; border: 0; min-width: 0; }
.field-list { line-height: normal; }
.field-list .title { display: block; padding-bottom: 4px; font-size: var(--jw-body-size); line-height: 1.66; }
.field-list .title > div > div,
.field-list .caption-text { display: flex; flex-wrap: wrap; align-items: baseline; column-gap: 1ex; }
.field-list .name { display: flex; align-items: flex-end; gap: 0 10px; }
.field-list .name > .field { flex: 1 1 0; min-width: 0; }
.field-list .field { position: relative; margin: 0 0 20px; }
.field-list .caption { display: block; }
.field-list .caption > div { display: inline-block; }
.field-list .caption-text { margin-top: 4px; padding-bottom: 2px; font-size: var(--jw-small-size); line-height: 1.66; }
.field-list .description { font-size: var(--jw-small-size); line-height: 1.66; opacity: .7; white-space: pre-wrap; }
.field-list .name .description.required { line-height: 1; }
.field-list input, .field-list textarea {
  position: relative; display: block; box-sizing: border-box; width: 100%;
  padding: 10px 20px; border: 1px solid transparent;
  border-radius: calc(10px + 1.0956em);
  background: var(--jw-teal); color: var(--jw-peach);
  font: 300 var(--jw-body-size)/1.66 'Poppins', sans-serif;
}
.field-list textarea { min-height: 100px; resize: vertical; }
.field-list input:focus, .field-list textarea:focus { outline: 1px solid var(--jw-peach); outline-offset: 1px; }
.form-input-effects, .form-submit-button-state { display: none; }
/* Captured anti-spam field must remain visually and interactively hidden. */
.btIyKrvyA6dTrftg { position: absolute; left: -5000px; width: 1px; height: 1px; overflow: hidden; opacity: 0; pointer-events: none; }
.form-button-wrapper--align-right { text-align: right; }
.form-submit-button {
  display: inline-block; padding: .9em 1.503em; border: 0; border-radius: 300px;
  background: var(--jw-peach); color: var(--jw-ink);
  font-family: 'Poppins', sans-serif; font-size: var(--jw-body-size);
  font-weight: 700; line-height: normal; text-align: center;
}
.local-form-notice { margin-top: 1em; }

@media (max-width: 799px), (pointer: coarse) and (max-width: 1024px) {
  .header-announcement-bar-wrapper { padding: 6vw; }
  .header-display-desktop { display: none; }
  .header-display-mobile { display: flex; position: relative; align-items: center; width: 100%; }
  .header-display-mobile .header-burger { display: flex; flex: 0 0 50px; justify-content: flex-start; }
  .header-display-mobile .header-title-nav-wrapper { flex: 1 0 calc(100% - 50px); }
  .header-display-mobile .header-title { flex: 1 0 100%; text-align: center; }
  .header-display-mobile .header-title-text { padding-right: 50px; font-size: var(--jw-body-size); }
  .header-display-mobile .header-nav, .header-display-mobile .header-actions { display: none; }
}
@media (min-width: 576px) { .header-menu-nav-item a { font-size: 6.6vmin; } }
@media (min-width: 768px) { .header-menu-nav-item a { font-size: 6vmin; } }
@media (max-width: 767px) and (orientation: portrait) {
  :root {
    --jw-body-size: calc(1rem + min(.096vh, .864px));
    --jw-heading-size: calc(1rem + min(1.8vh, 16.2px));
    --jw-small-size: calc(1rem - min(.144vh, 1.296px));
    --jw-cta-size: calc(1rem - min(.372vh, 3.348px));
  }
}
@media (max-width: 767px) {
  .fluid-engine {
    grid-template-columns: minmax(calc(6vw - 11px), 1fr) repeat(8, minmax(0, 215.375px)) minmax(calc(6vw - 11px), 1fr);
  }
  .fe-66a6f32dc7f83d3be1ce9ed0 { grid-template-rows: repeat(34, minmax(24px, auto)); }
  .fe-66a70660dc66b24832479edb { grid-template-rows: repeat(28, minmax(24px, auto)); }
  .fe-66a700ed4aab0d2bc70dcadd { grid-template-rows: repeat(18, minmax(24px, auto)); }
  .fe-block-39ab1518a375961b38ed { grid-area: 2 / 5 / 7 / 10; }
  .fe-block-06669ac92c7da1673d79 { grid-area: 2 / 2 / 7 / 5; }
  .fe-block-yui_3_17_2_1_1722217246816_6811 { grid-area: 7 / 2 / 21 / 10; }
  .fe-block-87aea9bba287df9b7f6f { grid-area: 1 / 2 / 15 / 10; }
  .fe-block-e83a9d1441f03c59bde4 { grid-area: 15 / 2 / 17 / 10; }
  .fe-block-d15b5d305211cc475343 { grid-area: 17 / 2 / 29 / 10; }
  .fe-block-yui_3_17_2_1_1722220647439_2723 { grid-area: 1 / 2 / 3 / 10; }
  .fe-block-yui_3_17_2_1_1722220647439_6404 { grid-area: 3 / 2 / 19 / 10; }
}
@media (prefers-reduced-motion: reduce) {
  .header-menu, .top-bun, .bottom-bun, .sqs-button-element--tertiary { transition: none; }
}
