/* Shared site styles extracted from the WordPress static export. */

/*
Theme Name: Impressionist
Theme URI:
Author: Automattic
Author URI: https://automattic.com/
Description: Impressionist is a block theme about the impressionist art movement.
Requires at least: 6.0
Tested up to: 6.6
Requires PHP: 5.7
Version: 1.0.2
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: impressionist
Tags: blog, one-column, wide-blocks, block-patterns, featured-images, full-site-editing, rtl-language-support, threaded-comments, translation-ready
*/

/*
 * Control the hover stylings of outline block style.
 * Unnecessary once block styles are configurable via theme.json
 * https://github.com/WordPress/gutenberg/issues/42794
 */
.wp-block-button.is-style-outline > .wp-block-button__link:not(.has-background):hover {
  background-color: var(--wp--preset--color--secondary);
  color: var(--wp--preset--color--base);
  border-color: var(--wp--preset--color--secondary);
}

/*
 * Link styles
 * https://github.com/WordPress/gutenberg/issues/42319
 */
a {
  text-decoration-thickness: 0.8px !important;
  text-underline-offset: 0.2em;
}

/*
 * Form field styles
 * https://github.com/WordPress/gutenberg/issues/42319
 */
::placeholder {
  color: var(--wp--preset--color--contrast);
  opacity: 1; /* Firefox */
}

input:not([type="submit"]):not([type="checkbox"]),
textarea,
.wp-block-post-comments-form input:not([type="submit"]),
.wp-block-post-comments-form textarea {
  background-color: var(--wp--preset--color--base);
  border-color: var(--wp--preset--color--contrast);
  color: var(--wp--preset--color--contrast);
}

input:not([type="submit"]):not([type="checkbox"]):focus,
textarea:focus {
  outline-style: solid;
  outline-color: var(--wp--preset--color--contrast);
}

/*
 * Navigation Block
 * Reset the padding from List block
 * https://github.com/WordPress/gutenberg/issues/50486
 */
.wp-block-navigation ul {
  padding: unset;
}

/*
 * Pull quote Block
 * Reset the browser default margins for blockquote element
 * https://github.com/WordPress/gutenberg/issues/44129
 */
.wp-block-pullquote blockquote,
.wp-block-pullquote p {
  margin: 0;
}

.wpcf7 .screen-reader-response {
  position: absolute;
  overflow: hidden;
  clip: rect(1px, 1px, 1px, 1px);
  clip-path: inset(50%);
  height: 1px;
  width: 1px;
  margin: -1px;
  padding: 0;
  border: 0;
  word-wrap: normal !important;
}

.wpcf7-form-control-wrap {
  position: relative;
}

.wpcf7 input[type="url"],
.wpcf7 input[type="email"],
.wpcf7 input[type="tel"] {
  direction: ltr;
}

/* Cover block — only rules used by the homepage hero */
.wp-block-cover {
  align-items: center;
  background-position: 50%;
  box-sizing: border-box;
  display: flex;
  justify-content: center;
  min-height: 430px;
  overflow: hidden;
  overflow: clip;
  padding: 1em;
  position: relative;
}

.wp-block-cover
  .has-background-dim:not([class*="-background-color"]),
.wp-block-cover.has-background-dim:not(
    [class*="-background-color"]
  ) {
  background-color: #000;
}

.wp-block-cover.has-background-dim:before {
  background-color: inherit;
  content: "";
}

.wp-block-cover .wp-block-cover__background,
.wp-block-cover.has-background-dim:not(
    .has-background-gradient
  ):before {
  bottom: 0;
  left: 0;
  opacity: 0.5;
  position: absolute;
  right: 0;
  top: 0;
}


.wp-block-cover .wp-block-cover__inner-container {
  color: inherit;
  position: relative;
  width: 100%;
}

.wp-block-cover .wp-block-cover__image-background,
.wp-block-cover video.wp-block-cover__video-background {
  border: none;
  bottom: 0;
  box-shadow: none;
  height: 100%;
  left: 0;
  margin: 0;
  max-height: none;
  max-width: none;
  object-fit: cover;
  outline: none;
  padding: 0;
  position: absolute;
  right: 0;
  top: 0;
  width: 100%;
}

:where(.wp-block-cover:not(.has-text-color)) {
  color: #fff;
}

:root :where(.wp-block-cover h1:not(.has-text-color)),
:root :where(.wp-block-cover h2:not(.has-text-color)),
:root :where(.wp-block-cover h3:not(.has-text-color)),
:root :where(.wp-block-cover h4:not(.has-text-color)),
:root :where(.wp-block-cover h5:not(.has-text-color)),
:root :where(.wp-block-cover h6:not(.has-text-color)),
:root :where(.wp-block-cover p:not(.has-text-color)) {
  color: inherit;
}


.wp-block-social-links {
  background: none;
  box-sizing: border-box;
  margin-left: 0;
  padding-left: 0;
  padding-right: 0;
  text-indent: 0;
}

.wp-block-social-links .wp-social-link a,
.wp-block-social-links .wp-social-link a:hover {
  border-bottom: 0;
  box-shadow: none;
  text-decoration: none;
}

.wp-block-social-links .wp-social-link svg {
  height: 1em;
  width: 1em;
}

.wp-block-social-links .wp-social-link span:not(.screen-reader-text) {
  font-size: 0.65em;
  margin-left: 0.5em;
  margin-right: 0.5em;
}

.wp-block-social-links.has-small-icon-size {
  font-size: 16px;
}

.wp-block-social-links,
.wp-block-social-links.has-normal-icon-size {
  font-size: 24px;
}

.wp-block-social-links.has-large-icon-size {
  font-size: 36px;
}

.wp-block-social-links.has-huge-icon-size {
  font-size: 48px;
}

.wp-block-social-links.aligncenter {
  display: flex;
  justify-content: center;
}

.wp-block-social-links.alignright {
  justify-content: flex-end;
}

.wp-block-social-link {
  border-radius: 9999px;
  display: block;
}

@media not (prefers-reduced-motion) {
  .wp-block-social-link {
    transition: transform 0.1s ease;
  }
}

.wp-block-social-link {
  height: auto;
}

.wp-block-social-link a {
  align-items: center;
  display: flex;
  line-height: 0;
}

.wp-block-social-link:hover {
  transform: scale(1.1);
}

.wp-block-social-links .wp-block-social-link.wp-social-link {
  display: inline-block;
  margin: 0;
  padding: 0;
}

.wp-block-social-links
  .wp-block-social-link.wp-social-link
  .wp-block-social-link-anchor,
.wp-block-social-links
  .wp-block-social-link.wp-social-link
  .wp-block-social-link-anchor
  svg,
.wp-block-social-links
  .wp-block-social-link.wp-social-link
  .wp-block-social-link-anchor:active,
.wp-block-social-links
  .wp-block-social-link.wp-social-link
  .wp-block-social-link-anchor:hover,
.wp-block-social-links
  .wp-block-social-link.wp-social-link
  .wp-block-social-link-anchor:visited {
  color: currentColor;
  fill: currentColor;
}

:where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link {
  background-color: #f0f0f0;
  color: #444;
}

/* Only platforms actually used on this site */
:where(.wp-block-social-links.is-style-logos-only) .wp-social-link {
  background: none;
}

:where(.wp-block-social-links.is-style-logos-only)
  .wp-social-link
  svg {
  height: 1.25em;
  width: 1.25em;
}

:where(.wp-block-social-links.is-style-logos-only)
  .wp-social-link-instagram {
  color: #f00075;
}

:where(.wp-block-social-links.is-style-logos-only)
  .wp-social-link-youtube {
  color: red;
}

.wp-block-social-links.is-style-pill-shape .wp-social-link {
  width: auto;
}

:root :where(.wp-block-social-links .wp-social-link a) {
  padding: 0.25em;
}

:root :where(.wp-block-social-links.is-style-logos-only .wp-social-link a) {
  padding: 0;
}

:root :where(.wp-block-social-links.is-style-pill-shape .wp-social-link a) {
  padding-left: 0.6666666667em;
  padding-right: 0.6666666667em;
}

.wp-block-social-links:not(.has-icon-color):not(.has-icon-background-color)
  .wp-social-link-snapchat
  .wp-block-social-link-label {
  color: #000;
}

.wp-block-site-title {
  box-sizing: border-box;
}

.wp-block-site-title :where(a) {
  color: inherit;
  font-family: inherit;
  font-size: inherit;
  font-style: inherit;
  font-weight: inherit;
  letter-spacing: inherit;
  line-height: inherit;
  text-decoration: inherit;
}

.wp-block-group {
  box-sizing: border-box;
}

:where(.wp-block-group.wp-block-group-is-layout-constrained) {
  position: relative;
}

.is-small-text {
  font-size: 0.875em;
}

.is-regular-text {
  font-size: 1em;
}

.is-large-text {
  font-size: 2.25em;
}

.is-larger-text {
  font-size: 3em;
}

.has-drop-cap:not(:focus):first-letter {
  float: left;
  font-size: 8.4em;
  font-style: normal;
  font-weight: 100;
  line-height: 0.68;
  margin: 0.05em 0.1em 0 0;
  text-transform: uppercase;
}

body.rtl .has-drop-cap:not(:focus):first-letter {
  float: none;
  margin-left: 0.1em;
}

p.has-drop-cap.has-background {
  overflow: hidden;
}

:root :where(p.has-background) {
  padding: 1.25em 2.375em;
}

:where(p.has-text-color:not(.has-link-color)) a {
  color: inherit;
}

p.has-text-align-left[style*="writing-mode:vertical-lr"],
p.has-text-align-right[style*="writing-mode:vertical-rl"] {
  rotate: 180deg;
}

:root {
  --wp-block-synced-color: #7a00df;
  --wp-block-synced-color--rgb: 122, 0, 223;
  --wp-bound-block-color: var(--wp-block-synced-color);
  --wp-editor-canvas-background: #ddd;
  --wp-admin-theme-color: #007cba;
  --wp-admin-theme-color--rgb: 0, 124, 186;
  --wp-admin-theme-color-darker-10: #006ba1;
  --wp-admin-theme-color-darker-10--rgb: 0, 107, 160.5;
  --wp-admin-theme-color-darker-20: #005a87;
  --wp-admin-theme-color-darker-20--rgb: 0, 90, 135;
  --wp-admin-border-width-focus: 2px;
}

@media (min-resolution: 192dpi) {
  :root {
    --wp-admin-border-width-focus: 1.5px;
  }
}

.wp-element-button {
  cursor: pointer;
}

:root .has-very-light-gray-background-color {
  background-color: #eee;
}

:root .has-very-dark-gray-background-color {
  background-color: #313131;
}

:root .has-very-light-gray-color {
  color: #eee;
}

:root .has-very-dark-gray-color {
  color: #313131;
}

:root .has-vivid-green-cyan-to-vivid-cyan-blue-gradient-background {
  background: linear-gradient(135deg, #00d084, #0693e3);
}

:root .has-purple-crush-gradient-background {
  background: linear-gradient(135deg, #34e2e4, #4721fb 50%, #ab1dfe);
}

:root .has-hazy-dawn-gradient-background {
  background: linear-gradient(135deg, #faaca8, #dad0ec);
}

:root .has-subdued-olive-gradient-background {
  background: linear-gradient(135deg, #fafae1, #67a671);
}

:root .has-atomic-cream-gradient-background {
  background: linear-gradient(135deg, #fdd79a, #004a59);
}

:root .has-nightshade-gradient-background {
  background: linear-gradient(135deg, #330968, #31cdcf);
}

:root .has-midnight-gradient-background {
  background: linear-gradient(135deg, #020381, #2874fc);
}

:root {
  --wp--preset--font-size--normal: 16px;
  --wp--preset--font-size--huge: 42px;
}

.has-regular-font-size {
  font-size: 1em;
}

.has-larger-font-size {
  font-size: 2.625em;
}

.has-normal-font-size {
  font-size: var(--wp--preset--font-size--normal);
}

.has-huge-font-size {
  font-size: var(--wp--preset--font-size--huge);
}

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

.has-text-align-left {
  text-align: left;
}

.has-text-align-right {
  text-align: right;
}

.has-fit-text {
  white-space: nowrap !important;
}

#end-resizable-editor-section {
  display: none;
}

.aligncenter {
  clear: both;
}

.items-justified-left {
  justify-content: flex-start;
}

.items-justified-center {
  justify-content: center;
}

.items-justified-right {
  justify-content: flex-end;
}

.items-justified-space-between {
  justify-content: space-between;
}

.screen-reader-text {
  border: 0;
  clip-path: inset(50%);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
  word-wrap: normal !important;
}

.screen-reader-text:focus {
  background-color: #ddd;
  clip-path: none;
  color: #444;
  display: block;
  font-size: 1em;
  height: auto;
  left: 5px;
  line-height: normal;
  padding: 15px 23px 14px;
  text-decoration: none;
  top: 5px;
  width: auto;
  z-index: 100000;
}

html :where(.has-border-color) {
  border-style: solid;
}

html :where([style*="border-top-color"]) {
  border-top-style: solid;
}

html :where([style*="border-right-color"]) {
  border-right-style: solid;
}

html :where([style*="border-bottom-color"]) {
  border-bottom-style: solid;
}

html :where([style*="border-left-color"]) {
  border-left-style: solid;
}

html :where([style*="border-width"]) {
  border-style: solid;
}

html :where([style*="border-top-width"]) {
  border-top-style: solid;
}

html :where([style*="border-right-width"]) {
  border-right-style: solid;
}

html :where([style*="border-bottom-width"]) {
  border-bottom-style: solid;
}

html :where([style*="border-left-width"]) {
  border-left-style: solid;
}

html :where(img[class*="wp-image-"]) {
  height: auto;
  max-width: 100%;
}

:where(figure) {
  margin: 0 0 1em;
}

html :where(.is-position-sticky) {
  --wp-admin--admin-bar--position-offset: var(--wp-admin--admin-bar--height, 0px);
}

@media screen and (max-width: 600px) {
  html :where(.is-position-sticky) {
    --wp-admin--admin-bar--position-offset: 0px;
  }
}

:root {
  --wp--preset--aspect-ratio--square: 1;
  --wp--preset--aspect-ratio--4-3: 4/3;
  --wp--preset--aspect-ratio--3-4: 3/4;
  --wp--preset--aspect-ratio--3-2: 3/2;
  --wp--preset--aspect-ratio--2-3: 2/3;
  --wp--preset--aspect-ratio--16-9: 16/9;
  --wp--preset--aspect-ratio--9-16: 9/16;
  --wp--preset--color--black: #000000;
  --wp--preset--color--cyan-bluish-gray: #abb8c3;
  --wp--preset--color--white: #ffffff;
  --wp--preset--color--pale-pink: #f78da7;
  --wp--preset--color--vivid-red: #cf2e2e;
  --wp--preset--color--luminous-vivid-orange: #ff6900;
  --wp--preset--color--luminous-vivid-amber: #fcb900;
  --wp--preset--color--light-green-cyan: #7bdcb5;
  --wp--preset--color--vivid-green-cyan: #00d084;
  --wp--preset--color--pale-cyan-blue: #8ed1fc;
  --wp--preset--color--vivid-cyan-blue: #0693e3;
  --wp--preset--color--vivid-purple: #9b51e0;
  --wp--preset--color--base: #ffffff;
  --wp--preset--color--contrast: #242121;
  --wp--preset--color--primary: #242121;
  --wp--preset--color--secondary: #6e6e6e;
  --wp--preset--color--tertiary: #f0f0f0;
  --wp--preset--gradient--vivid-cyan-blue-to-vivid-purple: linear-gradient(
    135deg,
    rgb(6, 147, 227) 0%,
    rgb(155, 81, 224) 100%
  );
  --wp--preset--gradient--light-green-cyan-to-vivid-green-cyan: linear-gradient(
    135deg,
    rgb(122, 220, 180) 0%,
    rgb(0, 208, 130) 100%
  );
  --wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange: linear-gradient(
    135deg,
    rgb(252, 185, 0) 0%,
    rgb(255, 105, 0) 100%
  );
  --wp--preset--gradient--luminous-vivid-orange-to-vivid-red: linear-gradient(
    135deg,
    rgb(255, 105, 0) 0%,
    rgb(207, 46, 46) 100%
  );
  --wp--preset--gradient--very-light-gray-to-cyan-bluish-gray: linear-gradient(
    135deg,
    rgb(238, 238, 238) 0%,
    rgb(169, 184, 195) 100%
  );
  --wp--preset--gradient--cool-to-warm-spectrum: linear-gradient(
    135deg,
    rgb(74, 234, 220) 0%,
    rgb(151, 120, 209) 20%,
    rgb(207, 42, 186) 40%,
    rgb(238, 44, 130) 60%,
    rgb(251, 105, 98) 80%,
    rgb(254, 248, 76) 100%
  );
  --wp--preset--gradient--blush-light-purple: linear-gradient(
    135deg,
    rgb(255, 206, 236) 0%,
    rgb(152, 150, 240) 100%
  );
  --wp--preset--gradient--blush-bordeaux: linear-gradient(
    135deg,
    rgb(254, 205, 165) 0%,
    rgb(254, 45, 45) 50%,
    rgb(107, 0, 62) 100%
  );
  --wp--preset--gradient--luminous-dusk: linear-gradient(
    135deg,
    rgb(255, 203, 112) 0%,
    rgb(199, 81, 192) 50%,
    rgb(65, 88, 208) 100%
  );
  --wp--preset--gradient--pale-ocean: linear-gradient(
    135deg,
    rgb(255, 245, 203) 0%,
    rgb(182, 227, 212) 50%,
    rgb(51, 167, 181) 100%
  );
  --wp--preset--gradient--electric-grass: linear-gradient(
    135deg,
    rgb(202, 248, 128) 0%,
    rgb(113, 206, 126) 100%
  );
  --wp--preset--gradient--midnight: linear-gradient(
    135deg,
    rgb(2, 3, 129) 0%,
    rgb(40, 116, 252) 100%
  );
  --wp--preset--font-size--small: clamp(1rem, 1rem + ((1vw - 0.2rem) * 0.471), 1.2rem);
  --wp--preset--font-size--medium: clamp(
    0.9rem,
    0.9rem + ((1vw - 0.2rem) * 1.176),
    1.4rem
  );
  --wp--preset--font-size--large: clamp(
    1.301rem,
    1.301rem + ((1vw - 0.2rem) * 1.88),
    2.1rem
  );
  --wp--preset--font-size--x-large: clamp(
    1.512rem,
    1.512rem + ((1vw - 0.2rem) * 2.372),
    2.52rem
  );
  --wp--preset--font-size--x-small: clamp(
    0.8rem,
    0.8rem + ((1vw - 0.2rem) * 0.235),
    0.9rem
  );
  --wp--preset--font-size--xx-large: clamp(
    1.755rem,
    1.755rem + ((1vw - 0.2rem) * 2.986),
    3.024rem
  );
  --wp--preset--font-size--huge: clamp(
    2.1rem,
    2.1rem + ((1vw - 0.2rem) * 12.765),
    7.525rem
  );
  --wp--preset--font-family--system-font:
    -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu,
    Cantarell, "Helvetica Neue", sans-serif;
  --wp--preset--font-family--cardo: Cardo;
  --wp--preset--font-family--beth-ellen: Beth Ellen;
  --wp--preset--font-family--alex-brush: "Alex Brush", cursive;
  --wp--preset--spacing--20: 0.44rem;
  --wp--preset--spacing--30: 0.67rem;
  --wp--preset--spacing--40: 1rem;
  --wp--preset--spacing--50: 1.5rem;
  --wp--preset--spacing--60: 2.25rem;
  --wp--preset--spacing--70: 3.38rem;
  --wp--preset--spacing--80: 5.06rem;
  --wp--preset--shadow--natural: 6px 6px 9px rgba(0, 0, 0, 0.2);
  --wp--preset--shadow--deep: 12px 12px 50px rgba(0, 0, 0, 0.4);
  --wp--preset--shadow--sharp: 6px 6px 0px rgba(0, 0, 0, 0.2);
  --wp--preset--shadow--outlined:
    6px 6px 0px -3px rgb(255, 255, 255), 6px 6px rgb(0, 0, 0);
  --wp--preset--shadow--crisp: 6px 6px 0px rgb(0, 0, 0);
}

:root {
  --wp--style--global--content-size: 620px;
  --wp--style--global--wide-size: 1000px;
}

:where(body) {
  margin: 0;
}

.wp-site-blocks {
  padding-top: var(--wp--style--root--padding-top);
  padding-bottom: var(--wp--style--root--padding-bottom);
}

.has-global-padding {
  padding-right: var(--wp--style--root--padding-right);
  padding-left: var(--wp--style--root--padding-left);
}

.has-global-padding > .alignfull {
  margin-right: calc(var(--wp--style--root--padding-right) * -1);
  margin-left: calc(var(--wp--style--root--padding-left) * -1);
}

.has-global-padding
  :where(
    :not(.alignfull.is-layout-flow)
      > .has-global-padding:not(.wp-block-block, .alignfull)
  ) {
  padding-right: 0;
  padding-left: 0;
}

.has-global-padding
  :where(
    :not(.alignfull.is-layout-flow)
      > .has-global-padding:not(.wp-block-block, .alignfull)
  )
  > .alignfull {
  margin-left: 0;
  margin-right: 0;
}

.wp-site-blocks > .alignleft {
  float: left;
  margin-right: 2em;
}

.wp-site-blocks > .alignright {
  float: right;
  margin-left: 2em;
}

.wp-site-blocks > .aligncenter {
  justify-content: center;
  margin-left: auto;
  margin-right: auto;
}

:where(.wp-site-blocks) > * {
  margin-block-start: var(--wp--preset--spacing--30);
  margin-block-end: 0;
}

:where(.wp-site-blocks) > :first-child {
  margin-block-start: 0;
}

:where(.wp-site-blocks) > :last-child {
  margin-block-end: 0;
}

:root {
  --wp--style--block-gap: var(--wp--preset--spacing--30);
}

:root :where(.is-layout-flow) > :first-child {
  margin-block-start: 0;
}

:root :where(.is-layout-flow) > :last-child {
  margin-block-end: 0;
}

:root :where(.is-layout-flow) > * {
  margin-block-start: var(--wp--preset--spacing--30);
  margin-block-end: 0;
}

:root :where(.is-layout-constrained) > :first-child {
  margin-block-start: 0;
}

:root :where(.is-layout-constrained) > :last-child {
  margin-block-end: 0;
}

:root :where(.is-layout-constrained) > * {
  margin-block-start: var(--wp--preset--spacing--30);
  margin-block-end: 0;
}

:root :where(.is-layout-flex) {
  gap: var(--wp--preset--spacing--30);
}

:root :where(.is-layout-grid) {
  gap: var(--wp--preset--spacing--30);
}

.is-layout-flow > .alignleft {
  float: left;
  margin-inline-start: 0;
  margin-inline-end: 2em;
}

.is-layout-flow > .alignright {
  float: right;
  margin-inline-start: 2em;
  margin-inline-end: 0;
}

.is-layout-flow > .aligncenter {
  margin-left: auto !important;
  margin-right: auto !important;
}

.is-layout-constrained > .alignleft {
  float: left;
  margin-inline-start: 0;
  margin-inline-end: 2em;
}

.is-layout-constrained > .alignright {
  float: right;
  margin-inline-start: 2em;
  margin-inline-end: 0;
}

.is-layout-constrained > .aligncenter {
  margin-left: auto !important;
  margin-right: auto !important;
}

.is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)) {
  max-width: var(--wp--style--global--content-size);
  margin-left: auto !important;
  margin-right: auto !important;
}

.is-layout-constrained > .alignwide {
  max-width: var(--wp--style--global--wide-size);
}

body .is-layout-flex {
  display: flex;
}

.is-layout-flex {
  flex-wrap: wrap;
  align-items: center;
}

.is-layout-flex > :is(*, div) {
  margin: 0;
}

body .is-layout-grid {
  display: grid;
}

.is-layout-grid > :is(*, div) {
  margin: 0;
}

body {
  background-color: var(--wp--preset--color--contrast);
  color: var(--wp--preset--color--base);
  font-family: var(--wp--preset--font-family--cardo);
  font-size: var(--wp--preset--font-size--medium);
  line-height: 1.6;
  --wp--style--root--padding-top: 0rem;
  --wp--style--root--padding-right: 0rem;
  --wp--style--root--padding-bottom: 0rem;
  --wp--style--root--padding-left: 0rem;
}

a:where(:not(.wp-element-button)) {
  color: var(--wp--preset--color--secondary);
  text-decoration: underline;
}

:root :where(a:where(:not(.wp-element-button)):hover) {
  text-decoration: none;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  color: var(--wp--preset--color--contrast);
  font-family: var(--wp--preset--font-family--cardo);
  font-style: normal;
  font-weight: 700;
  line-height: 1.125;
  text-transform: none;
}

h1 {
  font-size: var(--wp--preset--font-size--x-large);
  letter-spacing: 0px;
}

h2 {
  font-size: var(--wp--preset--font-size--large);
}

h3 {
  font-size: clamp(1.5rem, calc(1.5rem + ((1vw - 0.48rem) * 0.4808)), 1.75rem);
}

h4 {
  font-size: clamp(1.25rem, calc(1.25rem + ((1vw - 0.48rem) * 0.4808)), 1.5rem);
}

h5 {
  font-size: var(--wp--preset--font-size--small);
}

h6 {
  font-size: var(--wp--preset--font-size--x-small);
  letter-spacing: 1.5px;
  text-transform: uppercase;
}

:root :where(.wp-element-button, .wp-block-button__link) {
  background-color: var(--wp--preset--color--primary);
  border-radius: 0.25rem;
  border-width: 0;
  color: var(--wp--preset--color--base);
  font-family: inherit;
  font-size: inherit;
  font-style: inherit;
  font-weight: inherit;
  letter-spacing: inherit;
  line-height: inherit;
  padding-top: calc(0.667em + 2px);
  padding-right: calc(1.333em + 2px);
  padding-bottom: calc(0.667em + 2px);
  padding-left: calc(1.333em + 2px);
  text-decoration: none;
  text-transform: inherit;
}

:root :where(.wp-element-button:hover, .wp-block-button__link:hover) {
  background-color: var(--wp--preset--color--secondary);
  color: var(--wp--preset--color--base);
}

:root :where(.wp-element-button:focus, .wp-block-button__link:focus) {
  background-color: var(--wp--preset--color--primary);
  color: var(--wp--preset--color--base);
  outline-color: var(--wp--preset--color--primary);
  outline-offset: 2px;
  outline-style: dotted;
  outline-width: 1px;
}

:root :where(.wp-element-button:active, .wp-block-button__link:active) {
  background-color: var(--wp--preset--color--primary);
  color: var(--wp--preset--color--base);
}

:root
  :where(
    .wp-element-caption,
    .wp-block-audio figcaption,
    .wp-block-embed figcaption,
    .wp-block-gallery figcaption,
    .wp-block-image figcaption,
    .wp-block-table figcaption,
    .wp-block-video figcaption
  ) {
  font-size: var(--wp--preset--font-size--x-small);
}

.has-black-color {
  color: var(--wp--preset--color--black) !important;
}

.has-cyan-bluish-gray-color {
  color: var(--wp--preset--color--cyan-bluish-gray) !important;
}

.has-white-color {
  color: var(--wp--preset--color--white) !important;
}

.has-pale-pink-color {
  color: var(--wp--preset--color--pale-pink) !important;
}

.has-vivid-red-color {
  color: var(--wp--preset--color--vivid-red) !important;
}

.has-luminous-vivid-orange-color {
  color: var(--wp--preset--color--luminous-vivid-orange) !important;
}

.has-luminous-vivid-amber-color {
  color: var(--wp--preset--color--luminous-vivid-amber) !important;
}

.has-light-green-cyan-color {
  color: var(--wp--preset--color--light-green-cyan) !important;
}

.has-vivid-green-cyan-color {
  color: var(--wp--preset--color--vivid-green-cyan) !important;
}

.has-pale-cyan-blue-color {
  color: var(--wp--preset--color--pale-cyan-blue) !important;
}

.has-vivid-cyan-blue-color {
  color: var(--wp--preset--color--vivid-cyan-blue) !important;
}

.has-vivid-purple-color {
  color: var(--wp--preset--color--vivid-purple) !important;
}

.has-base-color {
  color: var(--wp--preset--color--base) !important;
}

.has-contrast-color {
  color: var(--wp--preset--color--contrast) !important;
}

.has-primary-color {
  color: var(--wp--preset--color--primary) !important;
}

.has-secondary-color {
  color: var(--wp--preset--color--secondary) !important;
}

.has-tertiary-color {
  color: var(--wp--preset--color--tertiary) !important;
}

.has-black-background-color {
  background-color: var(--wp--preset--color--black) !important;
}

.has-cyan-bluish-gray-background-color {
  background-color: var(--wp--preset--color--cyan-bluish-gray) !important;
}

.has-white-background-color {
  background-color: var(--wp--preset--color--white) !important;
}

.has-pale-pink-background-color {
  background-color: var(--wp--preset--color--pale-pink) !important;
}

.has-vivid-red-background-color {
  background-color: var(--wp--preset--color--vivid-red) !important;
}

.has-luminous-vivid-orange-background-color {
  background-color: var(--wp--preset--color--luminous-vivid-orange) !important;
}

.has-luminous-vivid-amber-background-color {
  background-color: var(--wp--preset--color--luminous-vivid-amber) !important;
}

.has-light-green-cyan-background-color {
  background-color: var(--wp--preset--color--light-green-cyan) !important;
}

.has-vivid-green-cyan-background-color {
  background-color: var(--wp--preset--color--vivid-green-cyan) !important;
}

.has-pale-cyan-blue-background-color {
  background-color: var(--wp--preset--color--pale-cyan-blue) !important;
}

.has-vivid-cyan-blue-background-color {
  background-color: var(--wp--preset--color--vivid-cyan-blue) !important;
}

.has-vivid-purple-background-color {
  background-color: var(--wp--preset--color--vivid-purple) !important;
}

.has-base-background-color {
  background-color: var(--wp--preset--color--base) !important;
}

.has-contrast-background-color {
  background-color: var(--wp--preset--color--contrast) !important;
}

.has-primary-background-color {
  background-color: var(--wp--preset--color--primary) !important;
}

.has-secondary-background-color {
  background-color: var(--wp--preset--color--secondary) !important;
}

.has-tertiary-background-color {
  background-color: var(--wp--preset--color--tertiary) !important;
}

.has-black-border-color {
  border-color: var(--wp--preset--color--black) !important;
}

.has-cyan-bluish-gray-border-color {
  border-color: var(--wp--preset--color--cyan-bluish-gray) !important;
}

.has-white-border-color {
  border-color: var(--wp--preset--color--white) !important;
}

.has-pale-pink-border-color {
  border-color: var(--wp--preset--color--pale-pink) !important;
}

.has-vivid-red-border-color {
  border-color: var(--wp--preset--color--vivid-red) !important;
}

.has-luminous-vivid-orange-border-color {
  border-color: var(--wp--preset--color--luminous-vivid-orange) !important;
}

.has-luminous-vivid-amber-border-color {
  border-color: var(--wp--preset--color--luminous-vivid-amber) !important;
}

.has-light-green-cyan-border-color {
  border-color: var(--wp--preset--color--light-green-cyan) !important;
}

.has-vivid-green-cyan-border-color {
  border-color: var(--wp--preset--color--vivid-green-cyan) !important;
}

.has-pale-cyan-blue-border-color {
  border-color: var(--wp--preset--color--pale-cyan-blue) !important;
}

.has-vivid-cyan-blue-border-color {
  border-color: var(--wp--preset--color--vivid-cyan-blue) !important;
}

.has-vivid-purple-border-color {
  border-color: var(--wp--preset--color--vivid-purple) !important;
}

.has-base-border-color {
  border-color: var(--wp--preset--color--base) !important;
}

.has-contrast-border-color {
  border-color: var(--wp--preset--color--contrast) !important;
}

.has-primary-border-color {
  border-color: var(--wp--preset--color--primary) !important;
}

.has-secondary-border-color {
  border-color: var(--wp--preset--color--secondary) !important;
}

.has-tertiary-border-color {
  border-color: var(--wp--preset--color--tertiary) !important;
}

.has-vivid-cyan-blue-to-vivid-purple-gradient-background {
  background: var(--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple) !important;
}

.has-light-green-cyan-to-vivid-green-cyan-gradient-background {
  background: var(
    --wp--preset--gradient--light-green-cyan-to-vivid-green-cyan
  ) !important;
}

.has-luminous-vivid-amber-to-luminous-vivid-orange-gradient-background {
  background: var(
    --wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange
  ) !important;
}

.has-luminous-vivid-orange-to-vivid-red-gradient-background {
  background: var(
    --wp--preset--gradient--luminous-vivid-orange-to-vivid-red
  ) !important;
}

.has-very-light-gray-to-cyan-bluish-gray-gradient-background {
  background: var(
    --wp--preset--gradient--very-light-gray-to-cyan-bluish-gray
  ) !important;
}

.has-cool-to-warm-spectrum-gradient-background {
  background: var(--wp--preset--gradient--cool-to-warm-spectrum) !important;
}

.has-blush-light-purple-gradient-background {
  background: var(--wp--preset--gradient--blush-light-purple) !important;
}

.has-blush-bordeaux-gradient-background {
  background: var(--wp--preset--gradient--blush-bordeaux) !important;
}

.has-luminous-dusk-gradient-background {
  background: var(--wp--preset--gradient--luminous-dusk) !important;
}

.has-pale-ocean-gradient-background {
  background: var(--wp--preset--gradient--pale-ocean) !important;
}

.has-electric-grass-gradient-background {
  background: var(--wp--preset--gradient--electric-grass) !important;
}

.has-midnight-gradient-background {
  background: var(--wp--preset--gradient--midnight) !important;
}

.has-small-font-size {
  font-size: var(--wp--preset--font-size--small) !important;
}

.has-medium-font-size {
  font-size: var(--wp--preset--font-size--medium) !important;
}

.has-large-font-size {
  font-size: var(--wp--preset--font-size--large) !important;
}

.has-x-large-font-size {
  font-size: var(--wp--preset--font-size--x-large) !important;
}

.has-x-small-font-size {
  font-size: var(--wp--preset--font-size--x-small) !important;
}

.has-xx-large-font-size {
  font-size: var(--wp--preset--font-size--xx-large) !important;
}

.has-huge-font-size {
  font-size: var(--wp--preset--font-size--huge) !important;
}

.has-system-font-font-family {
  font-family: var(--wp--preset--font-family--system-font) !important;
}

.has-cardo-font-family {
  font-family: var(--wp--preset--font-family--cardo) !important;
}

.has-beth-ellen-font-family {
  font-family: var(--wp--preset--font-family--beth-ellen) !important;
}

.has-alex-brush-font-family {
  font-family: var(--wp--preset--font-family--alex-brush) !important;
}

/* ~2025-07 Probably Tatu */
.wp-block-post-author__name {
  font-size: var(--wp--preset--font-size--extra-small);
}

.wp-block-pullquote cite {
  font-size: 16px;
  font-family: Beth Ellen;
}

.wp-block-pullquote blockquote,
.wp-block-pullquote p {
  margin-bottom: 0;
  line-height: 1.4;
}

/* ~2025-09 Apple fix */
:root {
  --appvh: 100dvh;
}

@supports (height: 100svh) {
  :root {
    --appvh: 100svh;
  }
}

@supports (-webkit-touch-callout: none) and (not (height: 100svh)) {
  html,
  body {
    height: -webkit-fill-available;
  }
}

.wp-block-cover.alignfull.has-aspect-ratio {
  aspect-ratio: auto !important;
  min-height: var(--appvh) !important;
}

.wp-block-cover.alignfull .wp-block-cover__image-background {
  height: 100% !important;
  width: 100%;
  object-fit: cover;
}

.wp-block-navigation__responsive-container,
.wp-block-navigation__responsive-dialog {
  max-height: var(--appvh) !important;
}

.wp-site-blocks,
.alignfull,
.wp-block-cover.alignfull {
  overflow-x: clip;
  width: 100%;
}

body:not(.has-modal-open) {
  overflow-y: auto;
}

/* 2025-09-14 Make Contact Form 7 input text larger (Claude) */
.wpcf7 input[type="text"],
.wpcf7 input[type="email"],
.wpcf7 input[type="tel"],
.wpcf7 input[type="url"],
.wpcf7 textarea,
.wpcf7 select {
  font-size: 18px !important;
  padding: 10px !important; /* This adds more comfortable spacing too */
}

.wpcf7 input[type="submit"] {
  font-size: 16px !important;
  padding: 12px 24px !important;
}

:root :where(p) {
  line-height: 1.5;
}

:root :where(.wp-block-site-title) {
  color: var(--wp--preset--color--contrast);
  font-family: var(--wp--preset--font-family--beth-ellen);
  font-size: var(--wp--preset--font-size--medium);
  font-style: normal;
  font-weight: 400;
  text-transform: lowercase;
}

:root :where(.wp-block-site-title a:where(:not(.wp-element-button))) {
  color: var(--wp--preset--color--contrast);
  text-decoration: none;
}

:root :where(.wp-block-site-title a:where(:not(.wp-element-button)):hover) {
  text-decoration: underline;
}

@font-face {
  font-family: Cardo;
  font-style: normal;
  font-weight: 400;
  font-display: fallback;
  src: url("/fonts/cardo-regular.ttf?v=20260531") format("truetype");
}

@font-face {
  font-family: Cardo;
  font-style: normal;
  font-weight: 700;
  font-display: fallback;
  src: url("/fonts/cardo-bold.ttf?v=20260531") format("truetype");
}

@font-face {
  font-family: Cardo;
  font-style: italic;
  font-weight: 400;
  font-display: fallback;
  src: url("/fonts/cardo-italic.ttf?v=20260531") format("truetype");
}

@font-face {
  font-family: "Beth Ellen";
  font-style: normal;
  font-weight: 400;
  font-display: fallback;
  src: url("/fonts/beth-ellen-regular.ttf?v=20260531") format("truetype");
}

@font-face {
  font-family: "Alex Brush";
  font-style: normal;
  font-weight: 400;
  font-display: fallback;
  src: url("/fonts/alex-brush.woff2?v=20260531") format("woff2");
}

img:is([sizes="auto" i], [sizes^="auto," i]) {
  contain-intrinsic-size: 3000px 1500px;
}

img.wp-smiley,
img.emoji {
  display: inline !important;
  border: none !important;
  box-shadow: none !important;
  height: 1em !important;
  width: 1em !important;
  margin: 0 0.07em !important;
  vertical-align: -0.1em !important;
  background: none !important;
  padding: 0 !important;
}

.skip-link.screen-reader-text {
  border: 0;
  clip-path: inset(50%);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute !important;
  width: 1px;
  word-wrap: normal !important;
}

.skip-link.screen-reader-text:focus {
  background-color: #eee;
  clip-path: none;
  color: #444;
  display: block;
  font-size: 1em;
  height: auto;
  left: 5px;
  line-height: normal;
  padding: 15px 23px 14px;
  text-decoration: none;
  top: 5px;
  width: auto;
  z-index: 100000;
}

.wp-block-post-title {
  box-sizing: border-box;
  word-break: break-word;
}

.wp-block-post-title :where(a) {
  display: inline-block;
  font-family: inherit;
  font-size: inherit;
  font-style: inherit;
  font-weight: inherit;
  letter-spacing: inherit;
  line-height: inherit;
  text-decoration: inherit;
}

:root :where(.wp-block-post-title) {
  font-family: var(--wp--preset--font-family--beth-ellen);
  font-style: normal;
  font-weight: 400;
  margin-bottom: 0;
  text-transform: lowercase;
}

:root :where(.wp-block-post-title a:where(:not(.wp-element-button))) {
  text-decoration: none;
}

:root :where(.wp-block-post-title a:where(:not(.wp-element-button)):hover) {
  text-decoration: underline;
}

:root :where(.wp-block-separator) {
  border-color: currentColor;
  border-width: 0 0 1px 0;
  border-style: solid;
  color: var(--wp--preset--color--contrast);
}

.wp-block-separator {
  border: none;
  border-top: 2px solid;
}

:root :where(.wp-block-separator.is-style-dots) {
  height: auto;
  line-height: 1;
  text-align: center;
}

:root :where(.wp-block-separator.is-style-dots):before {
  color: currentColor;
  content: "···";
  font-family: serif;
  font-size: 1.5em;
  letter-spacing: 2em;
  padding-left: 2em;
}

.wp-block-separator.is-style-dots {
  background: none !important;
  border: none !important;
}

.wp-block-columns {
  box-sizing: border-box;
  display: flex;
  flex-wrap: wrap !important;
}

@media (min-width: 782px) {
  .wp-block-columns {
    flex-wrap: nowrap !important;
  }
}

.wp-block-columns {
  align-items: normal !important;
}

.wp-block-columns.are-vertically-aligned-top {
  align-items: flex-start;
}

.wp-block-columns.are-vertically-aligned-center {
  align-items: center;
}

.wp-block-columns.are-vertically-aligned-bottom {
  align-items: flex-end;
}

@media (max-width: 781px) {
  .wp-block-columns:not(.is-not-stacked-on-mobile) > .wp-block-column {
    flex-basis: 100% !important;
  }
}

@media (min-width: 782px) {
  .wp-block-columns:not(.is-not-stacked-on-mobile) > .wp-block-column {
    flex-basis: 0;
    flex-grow: 1;
  }

  .wp-block-columns:not(.is-not-stacked-on-mobile)
    > .wp-block-column[style*="flex-basis"] {
    flex-grow: 0;
  }
}

.wp-block-columns.is-not-stacked-on-mobile {
  flex-wrap: nowrap !important;
}

.wp-block-columns.is-not-stacked-on-mobile > .wp-block-column {
  flex-basis: 0;
  flex-grow: 1;
}

.wp-block-columns.is-not-stacked-on-mobile > .wp-block-column[style*="flex-basis"] {
  flex-grow: 0;
}

:where(.wp-block-columns) {
  margin-bottom: 1.75em;
}

:where(.wp-block-columns.has-background) {
  padding: 1.25em 2.375em;
}

.wp-block-column {
  flex-grow: 1;
  min-width: 0;
  overflow-wrap: break-word;
  word-break: break-word;
}

.wp-block-column.is-vertically-aligned-top {
  align-self: flex-start;
}

.wp-block-column.is-vertically-aligned-center {
  align-self: center;
}

.wp-block-column.is-vertically-aligned-bottom {
  align-self: flex-end;
}

.wp-block-column.is-vertically-aligned-stretch {
  align-self: stretch;
}

.wp-block-column.is-vertically-aligned-bottom,
.wp-block-column.is-vertically-aligned-center,
.wp-block-column.is-vertically-aligned-top {
  width: 100%;
}

:root :where(.wp-block-list) {
  padding-left: var(--wp--preset--spacing--70);
}

ol,
ul {
  box-sizing: border-box;
}

:root :where(.wp-block-list.has-background) {
  padding: 1.25em 2.375em;
}

/* Semantic replacements for WordPress-generated hash classes. */
.links-base a:where(:not(.wp-element-button)) {
  color: var(--wp--preset--color--base);
}

.links-red a:where(:not(.wp-element-button)) {
  color: var(--wp--preset--color--vivid-red);
}

.social-links-align-end {
  justify-content: flex-end;
}

.nav-layout-center {
  justify-content: center;
}

.home-menu-stack {
  gap: var(--wp--preset--spacing--60);
  flex-direction: column;
  align-items: center;
}

.cover-content-flow > * {
  margin-block-start: 0;
  margin-block-end: 0;
}

.cover-content-flow > * + * {
  margin-block-start: 0;
  margin-block-end: 0;
}

.header-title-grow {
  flex-grow: 1;
}

.columns-nowrap {
  flex-wrap: nowrap;
}

.site-header-row {
  flex-wrap: nowrap;
  justify-content: center;
}

.sticky-header {
  top: calc(0px + var(--wp-admin--admin-bar--position-offset, 0px));
  position: sticky;
  z-index: 10;
}

.site-footer-inner {
  padding-top: var(--wp--preset--spacing--60);
  padding-bottom: var(--wp--preset--spacing--60);
}

.home-nav-pad {
  padding-top: var(--wp--preset--spacing--20);
  padding-bottom: var(--wp--preset--spacing--20);
}

.cover-content-flow > p {
  margin-block: 0;
}

.cover-content-flow > p + p {
  margin-block-start: 0.5em;
}

.cover-content-flow > p + .home-signature {
  margin-block-start: 0;
}

/* Semantic page layout classes replacing WordPress export class bundles. */
.page-title,
.featured-image-section,
.content-section,
.site-footer-section {
  box-sizing: border-box;
  padding-right: var(--wp--style--root--padding-right);
  padding-left: var(--wp--style--root--padding-left);
  position: relative;
}

.page-title,
.featured-image-section,
.content-section {
  margin-block-end: 0;
}

.page-title > :first-child,
.featured-image-section > :first-child,
.content-section > :first-child,
.page-content > :first-child,
.page-main > :first-child {
  margin-block-start: 0;
}

.page-title > :last-child,
.featured-image-section > :last-child,
.content-section > :last-child,
.page-content > :last-child,
.page-main > :last-child {
  margin-block-end: 0;
}

.page-title > *,
.featured-image-section > *,
.content-section > *,
.page-content > *,
.page-main > * {
  margin-block-start: var(--wp--preset--spacing--30);
  margin-block-end: 0;
}

.page-title {
  padding-top: 8vh;
  padding-bottom: 8vh;
}

.page-title-heading {
  box-sizing: border-box;
  color: var(--wp--preset--color--vivid-red);
  font-family: var(--wp--preset--font-family--beth-ellen);
  font-size: var(--wp--preset--font-size--xx-large);
  font-style: normal;
  font-weight: 400;
  margin-bottom: 0;
  max-width: var(--wp--style--global--wide-size);
  margin-left: auto !important;
  margin-right: auto !important;
  text-align: center;
  text-transform: capitalize;
  word-break: break-word;
}

.page-title-heading a:where(:not(.wp-element-button)) {
  color: var(--wp--preset--color--vivid-red);
  text-decoration: none;
}

.page-title-heading a:where(:not(.wp-element-button)):hover {
  text-decoration: underline;
}

.featured-image-section > .alignwide,
.content-section > .page-content {
  max-width: var(--wp--style--global--wide-size);
  margin-left: auto !important;
  margin-right: auto !important;
}

.content-section {
  padding-right: 4vw;
  padding-left: 4vw;
}

.content-section > .alignfull,
.site-footer-section > .alignfull {
  margin-right: calc(4vw * -1);
  margin-left: calc(4vw * -1);
}

.page-content {
  box-sizing: border-box;
  color: var(--wp--preset--color--base);
  display: flow-root;
  font-size: var(--wp--preset--font-size--medium);
  line-height: 1.4;
  padding-right: var(--wp--style--root--padding-right);
  padding-left: var(--wp--style--root--padding-left);
}

.page-content a:where(:not(.wp-element-button)) {
  color: var(--wp--preset--color--base);
}

.page-content > :where(:not(.alignleft):not(.alignright):not(.alignfull)) {
  max-width: var(--wp--style--global--content-size);
  margin-left: auto !important;
  margin-right: auto !important;
}

.page-content > .alignwide {
  max-width: var(--wp--style--global--wide-size);
}

.page-main {
  box-sizing: border-box;
}

.site-footer-section {
  border-top-style: none;
  border-top-width: 0;
  padding-top: 4vh;
  padding-right: 4vw;
  padding-bottom: 4vh;
  padding-left: 4vw;
}

/* Repeated inline style replacements. */
.social-link-white {
  color: #ffffff;
}

.site-header-title {
  font-size: clamp(1.146rem, 1.146rem + ((1vw - 0.2rem) * 1.539), 1.8rem);
  text-transform: capitalize;
  border-radius: 0;
  border-style: none;
  border-width: 0;
}

.title-capitalize {
  text-transform: capitalize;
}

.image-cover {
  object-fit: cover;
}

.italic-normal {
  font-style: italic;
  font-weight: 400;
}

.compact-text {
  border-style: none;
  border-width: 0;
  margin-top: 0;
  margin-bottom: 0;
}

.flush-vertical {
  padding-top: 0;
  padding-bottom: 0;
}

.margin-top-2em {
  margin-top: 2em;
}

.spacing-20-y {
  margin-top: var(--wp--preset--spacing--20);
  margin-bottom: var(--wp--preset--spacing--20);
}

.full-width-column {
  flex-basis: 100%;
}

.line-height-1 {
  line-height: 1;
}

.honeypot-field {
  display: none;
}
