:root { --brand: #43a49e; --ink: #303044; --muted: #e8e8e8; --bs-body-color: var(--ink); --bs-link-color: #287f79; --bs-link-hover-color: #1e625d; }
body { font-family: Arial, Helvetica, sans-serif; font-size: 1.05rem; line-height: 1.65; }
h1, h2, h3, h4, .navbar-brand { font-family: Georgia, 'Times New Roman', serif; font-weight: 400; line-height: 1.16; }
h1 { font-size: clamp(2.4rem, 4.1vw, 3.7rem); } h2 { font-size: clamp(2rem, 3vw, 2.9rem); } h3 { font-size: 1.65rem; } h4 { font-size: 1.35rem; }
a { text-underline-offset: .25em; } img { height: auto; } p { margin-bottom: 1.4rem; }
.site-header { background: var(--brand); color: #fff; }
.navbar { min-height: 90px; } .navbar-brand { font-size: clamp(1.5rem, 2.7vw, 2.2rem); color: #fff; white-space: normal; }
.navbar-brand:hover, .navbar-brand:focus { color: #fff; }
.nav-link, .navbar-nav .nav-link.active { color: #fff; font-size: .95rem; }
.nav-link.active { text-decoration: underline; } .nav-link:hover, .nav-link:focus { color: #fff; text-decoration: underline; }
.social-link { display: flex; align-items: center; justify-content: center; width: 40px; height: 40px; border: 1px solid currentColor; border-radius: 6px; font-weight: bold; color: inherit; text-decoration: none; font-size: 1.25rem; }
.social-link:hover { color: inherit; background: #ffffff18; }
.navbar-toggler { border-color: #ffffff88; } .navbar-toggler-icon { filter: invert(1); }
.skip-link { position: absolute; left: 1rem; top: 1rem; z-index: 100; background: white; padding: .75rem; }
.home-hero { background: #e6e6e6; padding: 42px 0; } .home-hero .portrait { width: 295px; display: block; margin-left: auto; } .home-hero h1 { font-size: 2.85rem; } .home-hero .lead { max-width: 260px; font-size: 1.25rem; }
.content-section { padding: 76px 0; } .section-muted { background: #f2f2f2; }
.container { max-width: 1160px; --bs-gutter-x: 3rem; } .source-row { --bs-gutter-x: 2.5rem; } .source-column { margin-bottom: .75rem; } .layout-space { height: 32px; }
.text-block h1 { margin-bottom: 2rem; } .text-block { margin-bottom: 1.3rem; } .text-block p:last-child { margin-bottom: 0; }
.section-title { font-size: clamp(2.4rem, 4.1vw, 3.7rem); margin-bottom: 2rem; }
.media-block { margin: 0 0 1.5rem; } .media-block img { width: 100%; object-fit: contain; } .media-block figcaption { margin-top: 1rem; }
.btn-brand { border-radius: 0; background: var(--brand); border: 1px solid var(--brand); color: #fff; padding: .85rem 1.8rem; font-size: 1.05rem; }
.btn-brand:hover, .btn-brand:focus { background: #287f79; color: white; border-color: #287f79; }
.page-title { margin-bottom: 3rem; } .article-container { max-width: 860px; } .article-title { margin: 1rem 0 3rem; } .post-meta { font-size: .9rem; margin: .6rem 0 1rem; }
.blog-preview { margin-bottom: 5rem; } .blog-cover { aspect-ratio: 4 / 3; object-fit: cover; width: 100%; } .blog-preview h2 { margin-bottom: 1.5rem; } .blog-preview h2 a { text-decoration: none; color: var(--ink); }
.post-tags, .video-categories { display: flex; flex-wrap: wrap; gap: .75rem 1.5rem; margin: 2rem 0; } .video-thumb { aspect-ratio: 3 / 2; object-fit: cover; width: 100%; }
.site-footer { padding: 3rem; display: flex; justify-content: center; color: var(--ink); } .back-link { display: inline-block; margin-bottom: 1rem; }
video { background: #171717; max-height: 75vh; } .newsletter { padding: 2rem; background: #f3f3f3; }
.resource-card img { margin-top: 1rem; aspect-ratio: 4 / 3; object-fit: cover; width: 100%; }
.testimonial { background: #eff3f3; padding: 2.2rem; } .testimonial blockquote { font-family: Georgia, serif; font-size: 1.4rem; line-height: 1.5; } .testimonial figcaption { font-size: 1rem; }
@media (min-width: 768px) { .source-column { width: var(--column-width); flex: 0 0 auto; } }
@media (min-width: 992px) { .navbar-brand { position: absolute; left: 50%; transform: translateX(-50%); } .navbar-collapse { flex-grow: 0; } .site-header .container-fluid { min-height: 66px; } }
@media (max-width: 767.98px) { .content-section { padding: 45px 0; } .home-hero { padding: 32px 0; } .home-hero .portrait { width: min(100%, 330px); margin: auto; } .home-hero h1 br { display: none; } .home-hero .col-md-4 { text-align: center; } .home-hero .lead { margin: auto; } .layout-space { height: 10px; } .source-column:has(> .layout-space:only-child) { display: none; } .blog-preview { margin-bottom: 3rem; } }
