:root {
  --cn-font: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  --cn-bg: #f7faf8; --cn-surface: #fff; --cn-text: #17251f; --cn-muted: #63736c;
  --cn-border: #dce6e1; --cn-primary: #176b54; --cn-accent: #b98a46;
  --cn-radius: 16px; --cn-space: clamp(1rem, 2.5vw, 2rem); --cn-wide: 1280px;
  color-scheme: light;
}
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--cn-bg); color: var(--cn-text); font-family: var(--cn-font); font-size: 1rem; line-height: 1.7; text-rendering: optimizeLegibility; }
img, svg, video { max-width: 100%; height: auto; }
a { color: var(--cn-primary); text-underline-offset: .18em; }
a:hover { text-decoration-thickness: 2px; }
button, input, textarea, select { font: inherit; }
:focus-visible { outline: 3px solid color-mix(in srgb, var(--cn-primary) 42%, transparent); outline-offset: 3px; }
.screen-reader-text, .cn-skip-link:not(:focus) { position: absolute !important; width: 1px; height: 1px; padding: 0; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.cn-skip-link { position: fixed; z-index: 9999; top: .5rem; left: .5rem; padding: .65rem 1rem; border-radius: .5rem; background: var(--cn-surface); color: var(--cn-text); }
.cn-site-header { position: relative; z-index: 100; border-bottom: 1px solid var(--cn-border); background: color-mix(in srgb, var(--cn-surface) 94%, transparent); }
.cn-header-inner, .cn-footer-inner { width: min(calc(100% - 2 * var(--cn-space)), var(--cn-wide)); margin-inline: auto; }
.cn-header-inner { display: grid; grid-template-columns: minmax(44px, 1fr) auto minmax(44px, 1fr); min-height: 124px; align-items: center; gap: 1rem; }
.cn-brand { display: flex; grid-column: 2; min-width: 0; align-items: center; justify-content: center; }
.cn-navigation { grid-column: 3; justify-self: end; }
.custom-logo { display: block; width: auto; max-width: min(60vw, 1000px); max-height: 100px; }
.cn-site-name { color: var(--cn-text); font-size: 1.1rem; font-weight: 750; text-decoration: none; }
.cn-menu { display: flex; align-items: center; gap: .25rem; margin: 0; padding: 0; list-style: none; }
.cn-menu a { display: block; padding: .55rem .75rem; border-radius: .65rem; color: var(--cn-text); font-weight: 600; text-decoration: none; }
.cn-menu a:hover, .cn-menu a:focus-visible { background: color-mix(in srgb, var(--cn-primary) 9%, transparent); color: var(--cn-primary); }
.cn-menu-toggle { display: none; width: 44px; height: 44px; padding: 10px; border: 0; border-radius: .7rem; background: transparent; color: var(--cn-text); cursor: pointer; }
.cn-menu-toggle span[aria-hidden] { position: relative; display: block; width: 22px; height: 14px; border-block: 2px solid currentColor; }
.cn-menu-toggle span[aria-hidden]::after { position: absolute; top: 4px; left: 0; width: 22px; border-top: 2px solid; content: ""; }
.cn-main { width: 100%; min-width: 0; min-height: calc(100dvh - 145px); padding: 0; }
.cn-container { width: min(calc(100% - 2 * var(--cn-space)), 960px); margin-inline: auto; padding-block: clamp(2.5rem, 6vw, 5.5rem); }
.cn-full-width, .cn-full-width-content, .cn-entry-content { width: 100%; min-width: 0; }
.cn-full-width { padding: 0; }
.cnp-press-page .cn-container, .cnp-is-press-page .cn-container { width: 100%; max-width: none; padding: 0; }
.cn-entry + .cn-entry { margin-top: 3rem; padding-top: 3rem; border-top: 1px solid var(--cn-border); }
.cn-entry-header { text-align: center; }
.cn-entry-title, .cn-archive-header h1 { margin: 0 0 1rem; font-size: clamp(2rem, 5vw, 3.4rem); line-height: 1.1; letter-spacing: -.035em; }
.cn-entry-title a { color: inherit; text-decoration: none; }
.cn-entry-content { overflow-wrap: anywhere; }
.cn-entry-content > :first-child { margin-top: 0; }
.cn-entry-content > :last-child { margin-bottom: 0; }
.cn-entry-content p { margin-block: 0 1.4em; }
.cn-entry-content h2, .cn-entry-content h3 { margin-top: 1.8em; line-height: 1.25; }
.cn-entry-content blockquote { margin-inline: 0; padding-left: 1.25rem; border-left: 3px solid var(--cn-accent); color: var(--cn-muted); }
.cn-featured { margin: 0 0 2rem; }
.cn-featured img { display: block; border-radius: var(--cn-radius); }
.cn-button { display: inline-block; padding: .65rem 1rem; border-radius: .65rem; background: var(--cn-primary); color: #fff; text-decoration: none; }
.cn-pre-footer { width: 100%; border-top: 1px solid var(--cn-border); background: var(--cn-surface); }
.cn-pre-footer-inner { width: min(calc(100% - 2 * var(--cn-space)), var(--cn-wide)); margin-inline: auto; padding-block: clamp(1.5rem, 4vw, 2.75rem); }
.cn-pre-footer ul, .cn-pre-footer .menu, .cn-pre-footer-menu { display: flex; flex-flow: row wrap; align-items: center; justify-content: center; gap: clamp(1.25rem, 4vw, 3.5rem); width: 100%; margin: 0; padding: 0; list-style: none; }
.cn-pre-footer li { flex: 0 0 auto; margin: 0; padding: 0; list-style: none; }
.cn-pre-footer a { display: block; padding: .45rem .2rem; color: var(--cn-text); font-size: clamp(1.5rem, 2.8vw, 2rem); font-weight: 750; line-height: 1.15; text-align: center; text-decoration: none; white-space: nowrap; }
.cn-pre-footer a:hover, .cn-pre-footer a:focus-visible { color: var(--cn-primary); text-decoration: underline; text-decoration-thickness: 3px; text-underline-offset: .22em; }
.cn-site-footer { border-top: 1px solid var(--cn-border); background: var(--cn-surface); color: var(--cn-muted); }
.cn-footer-inner { min-height: 72px; display: flex; align-items: center; justify-content: center; font-size: .9rem; text-align: center; }
@media (max-width: 767px) {
  .cn-header-inner { min-height: 94px; }
  .custom-logo { max-width: 68vw; max-height: 72px; }
  .cn-menu-toggle { display: grid; grid-column: 3; justify-self: end; place-items: center; }
  .cn-navigation { position: absolute; top: 100%; right: var(--cn-space); left: var(--cn-space); display: none; padding: .5rem; border: 1px solid var(--cn-border); border-radius: var(--cn-radius); background: var(--cn-surface); box-shadow: 0 16px 40px rgba(13, 41, 31, .12); }
  .cn-menu-open .cn-navigation { display: block; }
  .cn-menu { display: block; }
  .cn-menu a { padding: .8rem; }
  .cn-pre-footer ul, .cn-pre-footer .menu, .cn-pre-footer-menu { flex-direction: row; gap: .75rem 1.35rem; }
  .cn-pre-footer a { font-size: clamp(1.35rem, 6vw, 1.7rem); }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  * { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}
@media (prefers-color-scheme: dark) {
  :root { --cn-bg: #101713; --cn-surface: #17211c; --cn-text: #edf4f0; --cn-muted: #a6b5ad; --cn-border: #2d3b34; --cn-primary: #72c4a5; --cn-accent: #d5ae70; color-scheme: dark; }
}
