:root {
--lavender: #7b5fc4;
--lavender-light: #3fc1c9;
--lavender-dark: #1b3a6b;
--cream: #faf8f5;
--earth: #2a9aa1;
--text: #3a3540;
--text-soft: #6b6472;
--white: #ffffff;
}
* { box-sizing: border-box; }
body { margin: 0; font-family: 'Georgia', 'Times New Roman', serif; background: var(--cream); color: var(--text); line-height: 1.7; }
a { color: var(--lavender-dark); text-decoration: none; }
a:hover { text-decoration: underline; }
.site-header { background: var(--white); border-bottom: 1px solid #e8e2ec; padding: 1.2rem 2rem; display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 1rem; }
.site-header .brand { display: flex; align-items: center; gap: 0.7rem; }
.site-header .brand-logo { height: 48px; width: 48px; border-radius: 50%; }
.site-header .brand-name { font-size: 1.3rem; font-weight: bold; color: var(--lavender-dark); letter-spacing: 0.02em; }
nav.main-nav { display: flex; gap: 1.5rem; align-items: center; font-family: 'Helvetica Neue', Arial, sans-serif; font-size: 0.95rem; }
nav.main-nav a { color: var(--text); padding: 0.3rem 0; border-bottom: 2px solid transparent; }
nav.main-nav a:hover, nav.main-nav a.active { color: var(--lavender-dark); border-bottom: 2px solid var(--lavender); text-decoration: none; }
.nav-dropdown { position: relative; }
.nav-dropdown .dropdown-menu { display: none; position: absolute; top: 100%; left: 0; margin-top: 0.3rem; background: var(--white); border: 1px solid #e8e2ec; border-radius: 6px; padding: 0.4rem 0; min-width: 190px; box-shadow: 0 4px 14px rgba(0,0,0,0.1); z-index: 20; }
.nav-dropdown:hover .dropdown-menu, .nav-dropdown:focus-within .dropdown-menu { display: block; }
.nav-dropdown .dropdown-menu a { display: block; padding: 0.45rem 1rem; border-bottom: none; color: var(--text-soft); font-style: italic; white-space: nowrap; }
.nav-dropdown .dropdown-menu a:hover { background: var(--cream); text-decoration: none; color: var(--lavender-dark); }
.lang-switch { font-size: 0.85rem; font-family: 'Helvetica Neue', Arial, sans-serif; }
.lang-switch a { color: var(--text-soft); padding: 0.2rem 0.4rem; }
.lang-switch a.active { color: var(--lavender-dark); font-weight: bold; }
main { max-width: 780px; margin: 0 auto; padding: 3rem 1.5rem 5rem; }
.hero { text-align: center; padding: 2.2rem 1.5rem 1.1rem; }
.hero-logo { width: 250px; height: 250px; border-radius: 50%; }
.hero h1 { font-size: 2.2rem; color: var(--lavender-dark); margin-bottom: 0.5rem; }
.hero p.tagline { font-size: 1.15rem; color: var(--text-soft); font-style: italic; max-width: 520px; margin: 0 auto; }
.hero-photo { width: 700px; max-width: 92%; height: 380px; margin: 0 auto 1.5rem; overflow: hidden; border-radius: 12px; }
.hero-photo img { width: 100%; height: 100%; object-fit: cover; object-position: center 30%; display: block; }
.hero-intro { text-align: center; padding: 0 1.5rem 2rem; }
.hero-intro .tagline { font-size: 1.15rem; color: var(--text-soft); font-style: italic; max-width: 520px; margin: 0 auto; }
.visually-hidden { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.button { display: inline-block; margin-top: 1.5rem; padding: 0.7rem 1.8rem; background: var(--lavender); color: var(--white) !important; border-radius: 30px; font-family: 'Helvetica Neue', Arial, sans-serif; font-size: 0.95rem; text-decoration: none; }
.button:hover { background: var(--lavender-dark); text-decoration: none; }
h1, h2, h3 { color: var(--lavender-dark); font-weight: normal; }
h2 { font-size: 1.6rem; margin-top: 2.5rem; border-bottom: 1px solid #e8e2ec; padding-bottom: 0.5rem; }
h3 { font-size: 1.25rem; color: var(--lavender); }
.blog-list { list-style: none; padding: 0; }
.blog-list li { padding: 1.2rem 0; border-bottom: 1px solid #e8e2ec; }
.blog-list .blog-date { font-family: 'Helvetica Neue', Arial, sans-serif; font-size: 0.8rem; color: var(--earth); text-transform: uppercase; }
.blog-list h3 { margin: 0.3rem 0 0.4rem; }
.blog-list p { color: var(--text-soft); margin: 0; }
.tags { font-family: 'Helvetica Neue', Arial, sans-serif; font-size: 0.8rem; color: var(--lavender); margin-top: 2rem; }
.card { background: var(--white); border-radius: 12px; padding: 2rem; box-shadow: 0 2px 12px rgba(139, 123, 168, 0.1); margin-bottom: 2rem; }
.contact-box { text-align: center; background: var(--white); border-radius: 12px; padding: 2.5rem; box-shadow: 0 2px 12px rgba(139, 123, 168, 0.1); }
.contact-box a.email { font-size: 1.2rem; font-weight: bold; }
figure { margin: 2rem auto; text-align: center; }
figure img { width: 50%; max-width: 100%; height: auto; display: block; margin: 0 auto; border-radius: 10px; }
figcaption { font-family: 'Helvetica Neue', Arial, sans-serif; font-size: 0.85rem; color: var(--text-soft); margin-top: 0.5rem; }
.disclaimer { font-family: 'Helvetica Neue', Arial, sans-serif; font-size: 0.85rem; color: var(--text-soft); background: #f2eef7; border-left: 3px solid var(--lavender); padding: 1rem 1.2rem; margin: 2rem 0; }
footer { text-align: center; padding: 2.5rem 1.5rem; color: var(--text-soft); font-family: 'Helvetica Neue', Arial, sans-serif; font-size: 0.85rem; border-top: 1px solid #e8e2ec; }
.back-link { font-family: 'Helvetica Neue', Arial, sans-serif; font-size: 0.9rem; display: inline-block; margin-bottom: 2rem; }
.post-nav { display: flex; justify-content: space-between; gap: 1.5rem; margin-top: 3rem; padding-top: 2rem; border-top: 1px solid #e8e2ec; font-family: 'Helvetica Neue', Arial, sans-serif; }
.post-nav a { flex: 1; text-decoration: none; color: var(--text-soft); }
.post-nav a:hover { color: var(--lavender); }
.post-nav .post-nav-label { display: block; font-size: 0.75rem; text-transform: uppercase; letter-spacing: 0.04em; color: var(--earth); margin-bottom: 0.3rem; }
.post-nav .post-nav-title { display: block; font-size: 1rem; color: var(--lavender-dark); }
.post-nav .post-nav-next { text-align: right; }
@media (max-width: 600px) { .post-nav { flex-direction: column; gap: 1.25rem; } .post-nav .post-nav-next { text-align: left; } }

.newsletter-signup { background: var(--white); border: 1.5px solid var(--lavender-light); border-radius: 12px; padding: 2rem 1.75rem; max-width: 480px; margin: 2.5rem auto; text-align: center; font-family: inherit; box-shadow: 0 2px 12px rgba(139, 123, 168, 0.1); }
.newsletter-signup h3 { margin: 0 0 0.5rem; font-size: 1.3rem; color: var(--lavender-dark); font-weight: normal; }
.newsletter-signup p { margin: 0 0 1rem; font-size: 0.95rem; color: var(--text-soft); font-family: 'Helvetica Neue', Arial, sans-serif; }
.newsletter-signup form { display: flex; flex-direction: column; gap: 0.6rem; }
.newsletter-signup label { display: none; }
.newsletter-signup input[type="email"] { padding: 0.75rem 0.9rem; border: 1px solid var(--lavender-light); border-radius: 8px; font-size: 1rem; font-family: 'Helvetica Neue', Arial, sans-serif; }
.newsletter-signup input[type="email"]:focus { outline: none; border-color: var(--lavender); }
.newsletter-signup input[type="submit"] { padding: 0.75rem 0.9rem; border: none; border-radius: 30px; background: var(--lavender); color: var(--white); font-family: 'Helvetica Neue', Arial, sans-serif; font-size: 0.95rem; font-weight: 600; cursor: pointer; transition: background 0.2s; }
.newsletter-signup input[type="submit"]:hover { background: var(--lavender-dark); }
.newsletter-signup .bd-footer { font-family: 'Helvetica Neue', Arial, sans-serif; font-size: 0.75rem; color: var(--text-soft); margin-top: 0.75rem; opacity: 0.7; }

figure.hero-image img { width: 65%; }

main p a { text-decoration: underline; font-weight: bold; }
