/* Cats Walks - Editorial Travel Journal on Skeleton */
@import url('https://fonts.googleapis.com/css2?family=Karla:wght@300;400;500;600;700&family=Noto+Serif:wght@400;500;600;700&display=swap');

html { font-size: 100% !important; }
body { font-family: 'Karla', -apple-system, sans-serif !important; color: #3d3d3d; line-height: 1.8; font-size: 1rem; background: #fbfaf8; }
h1, h2, h3, h4, h5, h6 { font-family: 'Noto Serif', Georgia, serif !important; color: #1c1c1c; font-weight: 600 !important; }
h1 { font-size: 2.4rem !important; letter-spacing: -0.02em !important; }
h2 { font-size: 1.5rem !important; }
h3 { font-size: 1.2rem !important; }
h4 { font-size: 1.05rem !important; }
p { margin-bottom: 1.25rem !important; }
a { color: #5a7247; }
a:hover { color: #3d5030; }
img { max-width: 100%; height: auto; display: block; }

/* Nav - centered minimal with dot separators */
.cw-nav { text-align: center; padding: 1.75rem 0; border-bottom: 1px solid #e9e5df; }
.cw-nav a { color: #777; font-size: 0.88rem; font-weight: 500; text-decoration: none; padding: 0 0.6rem; }
.cw-nav a:hover { color: #5a7247; }
.cw-nav .cw-sep { color: #ccc; font-size: 0.7rem; }
.cw-nav .cw-brand { display: block; font-family: 'Noto Serif', serif; font-size: 1.5rem; font-weight: 700; color: #1c1c1c; text-decoration: none; margin-bottom: 0.6rem; letter-spacing: -0.02em; }

/* Hero */
.cw-hero { padding: 4rem 0 3rem; text-align: center; }
.cw-hero h1 { font-size: 2.4rem; line-height: 1.25; max-width: 640px; margin: 0 auto 0.75rem; letter-spacing: -0.02em; }
.cw-hero p { font-size: 1.05rem; color: #888; max-width: 500px; margin: 0 auto 1.5rem; line-height: 1.65; }
.cw-hero img { width: 100%; max-height: 420px; object-fit: cover; border-radius: 4px; margin-top: 2rem; }

/* Section */
.cw-section { padding: 2.5rem 0; }
.cw-section-bordered { border-bottom: 1px solid #e9e5df; }
.cw-section-label { font-family: 'Karla', sans-serif; font-size: 0.68rem; font-weight: 600; text-transform: uppercase; letter-spacing: 0.12em; color: #5a7247; margin-bottom: 0.3rem; }
.cw-section h2 { font-size: 1.5rem; margin-bottom: 0.5rem; }
.cw-section-desc { color: #888; max-width: 540px; margin-bottom: 1.5rem; }

/* Cards */
.cw-card { margin-bottom: 1.5rem; }
.cw-card img { width: 100%; height: 200px; object-fit: cover; border-radius: 4px; margin-bottom: 0.75rem; }
.cw-card h3 { font-size: 1.05rem; margin-bottom: 0.3rem; }
.cw-card h3 a { color: #1c1c1c; text-decoration: none; }
.cw-card h3 a:hover { color: #5a7247; }
.cw-card p { font-size: 0.88rem; color: #888; line-height: 1.55; }
.cw-card-tag { font-size: 0.65rem; font-weight: 600; text-transform: uppercase; letter-spacing: 0.1em; color: #5a7247; margin-bottom: 0.4rem; display: inline-block; }

/* Article */
.cw-article { max-width: 680px; margin: 0 auto; padding: 2.5rem 0; }
.cw-article h1 { font-size: 2.2rem; line-height: 1.25; margin-bottom: 0.5rem; }
.cw-article .cw-meta { font-size: 0.85rem; color: #aaa; margin-bottom: 2rem; padding-bottom: 1.5rem; border-bottom: 1px solid #e9e5df; }
.cw-article .cw-body p { margin-bottom: 1.25rem; }
.cw-article .cw-body h2 { font-size: 1.45rem; margin-top: 2.5rem; margin-bottom: 0.75rem; }
.cw-article .cw-body h3 { font-size: 1.1rem; margin-top: 1.5rem; }
.cw-article .cw-body img { border-radius: 4px; margin: 1.5rem 0; }
.cw-article .cw-body .cap { font-size: 0.78rem; color: #aaa; margin-top: -1rem; margin-bottom: 1.5rem; font-style: italic; }
.cw-article .cw-body a { text-decoration: underline; text-decoration-color: #c5d4ba; text-underline-offset: 3px; }
.cw-article .cw-body a:hover { text-decoration-color: #5a7247; }
.cw-article .cw-body blockquote { border-left: 3px solid #5a7247; padding: 0.75rem 1.25rem; margin: 1.5rem 0; background: #f5f3ef; color: #555; font-style: italic; }

/* Hub */
.cw-hub { max-width: 680px; margin: 0 auto; padding: 2.5rem 0 1rem; }
.cw-hub h1 { font-size: 1.8rem; margin-bottom: 0.4rem; }
.cw-hub .cw-hub-desc { color: #888; margin-bottom: 1.5rem; font-size: 0.95rem; line-height: 1.75; }
.cw-hub img { border-radius: 4px; margin: 1.25rem 0; }

/* Related */
.cw-related { margin-top: 3rem; padding-top: 2rem; border-top: 1px solid #e9e5df; }

/* Photo essay */
.cw-photo-essay img { margin: 2rem 0; border-radius: 4px; }
.cw-photo-essay .cap { text-align: center; font-size: 0.85rem; color: #999; font-style: italic; margin-top: -1.5rem; margin-bottom: 2rem; }

/* Footer */
.cw-footer { text-align: center; padding: 2rem 0; border-top: 1px solid #e9e5df; margin-top: 3rem; font-size: 0.82rem; color: #aaa; }
.cw-footer a { color: #aaa; text-decoration: none; margin: 0 0.4rem; }
.cw-footer a:hover { color: #5a7247; }
.cw-footer .cw-footer-brand { display: block; font-family: 'Noto Serif', serif; font-weight: 600; color: #1c1c1c; font-size: 0.95rem; margin-bottom: 0.4rem; }

/* Grid helpers */
.cw-grid { display: grid; gap: 1.5rem; }
.cw-grid-3 { grid-template-columns: repeat(3, 1fr); }
.cw-grid-2 { grid-template-columns: repeat(2, 1fr); }
@media (max-width: 550px) { .cw-grid-3, .cw-grid-2 { grid-template-columns: 1fr; } }
