:root {
--tm-ink: #17231d;
--tm-muted: #637069;
--tm-paper: #f7f8f4;
--tm-white: #ffffff;
--tm-forest: #174f3a;
--tm-forest-dark: #0d3829;
--tm-moss: #8eaa84;
--tm-water: #dcebea;
--tm-sand: #e8dcc6;
--tm-line: #dce2dc;
--tm-shadow: 0 18px 50px rgba(18, 45, 34, .10);
--tm-radius: 22px;
--tm-wide: 1180px;
--tm-content: 760px;
}
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
margin: 0;
color: var(--tm-ink);
background: var(--tm-paper);
font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
font-size: 17px;
line-height: 1.72;
text-rendering: optimizeLegibility;
}
img { display: block; max-width: 100%; height: auto; }
a { color: var(--tm-forest); text-decoration-thickness: .08em; text-underline-offset: .18em; }
a:hover { color: var(--tm-forest-dark); }
button, input, textarea, select { font: inherit; }
.screen-reader-text {
position: absolute !important;
width: 1px; height: 1px; padding: 0; margin: -1px;
overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0;
}
.screen-reader-text:focus {
position: fixed !important; z-index: 99999; top: 12px; left: 12px;
width: auto; height: auto; padding: 12px 16px; margin: 0;
clip: auto; overflow: visible; color: var(--tm-white); background: var(--tm-forest-dark);
border-radius: 8px;
}
.site-header {
position: sticky; z-index: 100; top: 0;
background: rgba(247, 248, 244, .94);
border-bottom: 1px solid rgba(23, 79, 58, .10);
backdrop-filter: blur(16px);
}
.admin-bar .site-header { top: 32px; }
.header-inner {
width: min(calc(100% - 40px), var(--tm-wide)); min-height: 82px; margin: 0 auto;
display: flex; align-items: center; justify-content: space-between; gap: 28px;
}
.site-branding { min-width: 0; }
.custom-logo { width: auto; max-height: 54px; }
.site-title { margin: 0; font-size: clamp(1.2rem, 2vw, 1.55rem); line-height: 1.15; letter-spacing: -.035em; }
.site-title a { color: var(--tm-ink); text-decoration: none; }
.site-description { margin: 4px 0 0; color: var(--tm-muted); font-size: .78rem; letter-spacing: .03em; }
.primary-navigation { display: flex; align-items: center; }
.primary-navigation ul { display: flex; align-items: center; gap: 5px; margin: 0; padding: 0; list-style: none; }
.primary-navigation a {
display: block; padding: 10px 13px; color: var(--tm-ink); border-radius: 999px;
font-size: .93rem; font-weight: 650; text-decoration: none;
}
.primary-navigation a:hover, .primary-navigation .current-menu-item > a, .primary-navigation .current_page_item > a {
color: var(--tm-white); background: var(--tm-forest);
}
.menu-toggle {
display: none; align-items: center; justify-content: center; width: 46px; height: 46px;
color: var(--tm-ink); background: transparent; border: 1px solid var(--tm-line); border-radius: 50%; cursor: pointer;
}
.menu-toggle svg { width: 24px; height: 24px; }
.site-main { overflow: clip; }
.entry-content > *, .entry-header, .entry-footer, .comments-area {
width: min(calc(100% - 40px), var(--tm-content)); margin-left: auto; margin-right: auto;
}
.entry-content > .alignwide { width: min(calc(100% - 40px), var(--tm-wide)); max-width: none; }
.entry-content > .alignfull { width: 100%; max-width: none; }
.entry-content > .wp-block-cover:first-child { margin-top: 0; }
.entry-content .wp-block-cover {
position: relative; min-height: clamp(360px, 58vw, 680px) !important;
overflow: hidden; color: var(--tm-white); background-color: var(--tm-forest-dark); border-radius: 0 0 36px 36px;
}
.entry-content .wp-block-cover__image-background { width: 100%; height: 100%; object-fit: cover; }
.entry-content .wp-block-cover__background { background: linear-gradient(90deg, rgba(7,31,23,.70), rgba(7,31,23,.18)) !important; opacity: 1 !important; }
.entry-content .wp-block-cover__inner-container {
width: min(calc(100% - 40px), var(--tm-wide)); margin: 0 auto; text-align: left;
}
.entry-content .wp-block-cover h1, .entry-content .wp-block-cover p { max-width: 760px; margin-left: 0 !important; text-align: left !important; }
.entry-content .wp-block-cover h1 {
margin-bottom: 18px; color: var(--tm-white); font-size: clamp(2.45rem, 7vw, 5.8rem) !important;
line-height: .99; letter-spacing: -.065em; text-wrap: balance;
}
.entry-content .wp-block-cover p { color: rgba(255,255,255,.90); font-size: clamp(1.05rem, 2vw, 1.32rem); }
h1, h2, h3, h4 { color: var(--tm-ink); font-weight: 780; line-height: 1.12; letter-spacing: -.045em; text-wrap: balance; }
h1 { font-size: clamp(2.35rem, 6vw, 4.8rem); }
h2 { margin-top: 1.7em; font-size: clamp(1.9rem, 4vw, 3.25rem); }
h3 { font-size: clamp(1.3rem, 2.5vw, 1.75rem); }
p { text-wrap: pretty; }
.entry-content > .wp-block-separator { margin-top: 24px; margin-bottom: 24px; border: 0; }
.entry-content > .wp-block-separator::after { content: ""; display: block; width: 58px; height: 3px; margin: 0 auto; background: var(--tm-moss); border-radius: 3px; }
.entry-content .section { padding-top: clamp(55px, 8vw, 105px); padding-bottom: clamp(55px, 8vw, 105px); }
.entry-content > .wp-block-group.section { width: min(calc(100% - 40px), var(--tm-wide)); max-width: none; }
.entry-content .wp-block-columns { gap: clamp(28px, 5vw, 68px); }
.entry-content .wp-block-image { margin-top: 0; margin-bottom: 24px; }
.entry-content .wp-block-image img {
width: 100% !important; max-height: 720px; object-fit: cover;
border-radius: var(--tm-radius); box-shadow: var(--tm-shadow);
}
.entry-content .wp-block-image figcaption { color: var(--tm-muted); font-size: .82rem; text-align: center; }
.wp-block-button__link, .more-link, .read-more {
display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: 12px 20px;
color: var(--tm-white) !important; background: var(--tm-forest) !important; border: 0; border-radius: 999px;
box-shadow: none; font-weight: 750; text-decoration: none; transition: transform .18s ease, background .18s ease;
}
.wp-block-button__link:hover, .more-link:hover, .read-more:hover { background: var(--tm-forest-dark) !important; transform: translateY(-2px); }
.wp-block-query .wp-block-post-template, .post-grid {
width: min(100%, var(--tm-wide)); margin: 34px auto 0; padding: 0; list-style: none;
display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px;
}
.wp-block-query .wp-block-post-template > li, .post-card {
min-width: 0; overflow: hidden; background: var(--tm-white); border: 1px solid var(--tm-line);
border-radius: var(--tm-radius); box-shadow: 0 10px 35px rgba(18,45,34,.07);
transition: transform .2s ease, box-shadow .2s ease;
}
.wp-block-query .wp-block-post-template > li:hover, .post-card:hover { transform: translateY(-4px); box-shadow: var(--tm-shadow); }
.wp-block-query .wp-block-post-template .wp-block-group, .post-card__body { padding: 26px; }
.wp-block-post-title, .post-card__title { margin: 0 0 14px; font-size: 1.35rem; }
.wp-block-post-title a, .post-card__title a { color: var(--tm-ink); text-decoration: none; }
.wp-block-post-excerpt, .post-card__excerpt { color: var(--tm-muted); font-size: .95rem; }
.wp-block-post-excerpt__more-link { color: var(--tm-forest); font-weight: 750; }
.post-card__image { display: block; aspect-ratio: 16 / 10; overflow: hidden; background: var(--tm-water); }
.post-card__image img { width: 100%; height: 100%; object-fit: cover; transition: transform .35s ease; }
.post-card:hover .post-card__image img { transform: scale(1.035); }
.post-card__meta { margin-bottom: 10px; color: var(--tm-forest); font-size: .77rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.entry-header { padding-top: clamp(55px, 9vw, 110px); padding-bottom: 28px; text-align: center; }
.entry-title { margin: 0; }
.entry-meta { margin-top: 14px; color: var(--tm-muted); font-size: .88rem; }
.single .entry-content, .page:not(.home) .entry-content { padding-bottom: 90px; }
.single .entry-content > p:first-of-type { font-size: 1.18rem; }
.entry-content blockquote {
margin-top: 48px; margin-bottom: 48px; padding: 10px 0 10px 28px;
border-left: 4px solid var(--tm-moss); color: var(--tm-forest-dark); font-size: 1.25rem;
}
.entry-content table { width: 100%; border-collapse: collapse; }
.entry-content th, .entry-content td { padding: 12px; border-bottom: 1px solid var(--tm-line); text-align: left; }
.archive-hero { width: min(calc(100% - 40px), var(--tm-wide)); margin: 0 auto; padding: clamp(55px, 9vw, 105px) 0 20px; }
.archive-hero h1 { margin: 0; }
.archive-hero p { max-width: 720px; color: var(--tm-muted); }
.posts-wrap { width: min(calc(100% - 40px), var(--tm-wide)); margin: 0 auto; padding: 25px 0 90px; }
.pagination { margin-top: 42px; }
.pagination .nav-links { display: flex; flex-wrap: wrap; gap: 8px; }
.pagination .page-numbers { padding: 8px 13px; color: var(--tm-ink); background: var(--tm-white); border: 1px solid var(--tm-line); border-radius: 9px; text-decoration: none; }
.pagination .current { color: var(--tm-white); background: var(--tm-forest); }
.site-footer { color: rgba(255,255,255,.76); background: var(--tm-forest-dark); }
.footer-inner {
width: min(calc(100% - 40px), var(--tm-wide)); margin: 0 auto; padding: 62px 0 30px;
display: grid; grid-template-columns: 1.5fr 1fr; gap: 40px;
}
.footer-title { margin: 0 0 12px; color: var(--tm-white); font-size: 1.55rem; }
.footer-copy { max-width: 540px; margin: 0; }
.footer-nav ul { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 10px 20px; margin: 0; padding: 0; list-style: none; }
.footer-nav a { color: var(--tm-white); font-weight: 650; text-decoration: none; }
.site-info { width: min(calc(100% - 40px), var(--tm-wide)); margin: 0 auto; padding: 22px 0 28px; border-top: 1px solid rgba(255,255,255,.14); font-size: .82rem; }
.not-found { width: min(calc(100% - 40px), var(--tm-content)); min-height: 55vh; margin: 0 auto; padding: 90px 0; text-align: center; }
.not-found p { color: var(--tm-muted); }
@media (max-width: 850px) {
.admin-bar .site-header { top: 46px; }
.header-inner { min-height: 72px; }
.site-description { display: none; }
.menu-toggle { display: inline-flex; }
.primary-navigation {
position: absolute; top: 100%; right: 20px; left: 20px; display: none; padding: 12px;
background: var(--tm-white); border: 1px solid var(--tm-line); border-radius: 16px; box-shadow: var(--tm-shadow);
}
.primary-navigation.is-open { display: block; }
.primary-navigation ul { display: block; }
.primary-navigation a { padding: 12px 14px; }
.wp-block-query .wp-block-post-template, .post-grid { grid-template-columns: 1fr 1fr; }
.footer-inner { grid-template-columns: 1fr; }
.footer-nav ul { justify-content: flex-start; }
}
@media (max-width: 620px) {
body { font-size: 16px; }
.entry-content > *, .entry-header, .entry-footer, .comments-area { width: min(calc(100% - 28px), var(--tm-content)); }
.entry-content > .alignwide, .header-inner, .archive-hero, .posts-wrap, .footer-inner, .site-info { width: calc(100% - 28px); }
.entry-content > .wp-block-group.section { width: calc(100% - 28px); }
.entry-content .wp-block-cover { min-height: 500px !important; border-radius: 0 0 24px 24px; }
.entry-content .wp-block-cover__inner-container { width: calc(100% - 32px); }
.entry-content .wp-block-cover h1 { font-size: clamp(2.35rem, 13vw, 4rem) !important; }
.entry-content .wp-block-columns { gap: 22px; }
.wp-block-query .wp-block-post-template, .post-grid { grid-template-columns: 1fr; }
.wp-block-query .wp-block-post-template .wp-block-group, .post-card__body { padding: 22px; }
}
@media (prefers-reduced-motion: reduce) {
html { scroll-behavior: auto; }
*, *::before, *::after { transition-duration: .01ms !important; animation-duration: .01ms !important; }
}