/*
   Established Werner English Studio website shell.
   This stylesheet intentionally follows the existing homepage/blog navigation,
   typography, spacing, and burgundy page-header treatment. It is loaded after
   seo.css so new indexable pages look like part of the existing site.
*/

:root {
  --ink: #1A1A14;
  --ink-mid: #3A3A30;
  --burgundy: #7B1E37;
  --burgundy-light: #9B2845;
  --forest: #1A4A38;
  --forest-light: #2B4A1E;
  --cream: #F7F2EA;
  --cream-dark: #EDE8DF;
  --ivory: #FFFFFF;
  --gold: #C4922A;
  --charcoal: #1A1A14;
  --warm-grey: #6B6560;
  --line: #EDE8DF;
  --max-width: 1100px;
  --nav-height: 64px;
}

html { scroll-padding-top: calc(var(--nav-height) + 1rem); }
body {
  background: var(--ivory);
  color: var(--ink);
  font-family: Lato, Arial, sans-serif;
  font-size: 18px;
  line-height: 1.75;
}
h1, h2, h3 { color: var(--ink); font-family: "Playfair Display", Georgia, serif; font-weight: 400; }
h1 { font-size: clamp(2.3rem, 5vw, 3.5rem); letter-spacing: 0; }
h2 { font-size: clamp(1.65rem, 3vw, 2.2rem); }
h3 { font-size: 1.45rem; }
a { color: var(--burgundy); }

/* Exact visual language of the existing top navigation. */
.site-nav {
  background: var(--ink);
  border: 0;
  height: var(--nav-height);
  left: 0;
  position: fixed;
  right: 0;
  top: 0;
  z-index: 100;
}
.nav-inner {
  align-items: center;
  display: flex;
  gap: 1.5rem;
  height: var(--nav-height);
  justify-content: space-between;
  margin: 0 auto;
  max-width: var(--max-width);
  min-height: 0;
  padding: 0 2rem;
  width: 100%;
}
.nav-logo {
  color: var(--gold);
  font: 400 18px/1 "Playfair Display", Georgia, serif;
  text-decoration: none;
  white-space: nowrap;
}
.nav-links { align-items: center; display: flex; flex-wrap: nowrap; gap: 1.75rem; justify-content: flex-end; list-style: none; margin: 0; padding: 0; }
.nav-links a {
  color: rgba(247, 242, 234, .75);
  font-family: Lato, Arial, sans-serif;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 1.5px;
  text-decoration: none;
  text-transform: uppercase;
}
.nav-links a:hover, .nav-links a.cur, .nav-links a[aria-current="page"] { color: var(--gold); }
.nav-links .nav-btn { border: 1px solid var(--gold); color: var(--gold); padding: 7px 16px; }
.nav-links .nav-btn:hover { background: var(--gold); color: var(--ink); }
.nav-hamburger { background: none; border: 0; cursor: pointer; display: none; flex-direction: column; gap: 5px; padding: 4px; }
.nav-hamburger span { background: var(--cream); display: block; height: 1.5px; width: 24px; }
.nav-mobile { display: none; }

/* The original site uses a restrained burgundy page header for its Blog. */
.hero {
  background: var(--burgundy);
  border: 0;
  margin-top: var(--nav-height);
  padding: 4rem 2rem 3.5rem;
}
.hero-inner, .page, .footer-inner { max-width: var(--max-width); width: 100%; }
.hero h1 { color: var(--cream); max-width: 860px; }
.hero .eyebrow { color: rgba(247, 242, 234, .62); font-size: 10px; letter-spacing: 3.5px; margin-bottom: .75rem; }
.hero .lede { color: rgba(247, 242, 234, .72); font-size: 16px; line-height: 1.8; margin-top: .75rem; max-width: 650px; }
.hero-actions { margin-top: 1.5rem; }
.hero .button { background: var(--ink); border-color: var(--ink); color: var(--cream); }
.hero .button:hover { background: var(--burgundy-light); border-color: var(--burgundy-light); }
.hero .button-secondary { background: transparent; border-color: var(--cream); color: var(--cream); }
.hero .button-secondary:hover { background: var(--cream); color: var(--burgundy); }

.page { padding: 3.5rem 2rem 5rem; }
.breadcrumb { color: var(--warm-grey); font-size: 13px; margin-bottom: 1.75rem; }
.breadcrumb a { color: var(--warm-grey); }

/* Existing-page card treatment: quiet outline, no detached template shadows. */
.archive-grid, .service-grid { gap: 1.5rem; grid-template-columns: repeat(2, minmax(0, 1fr)); margin-top: 0; }
.archive-card, .service-card, .article {
  background: var(--ivory);
  border: 1px solid var(--cream-dark);
  border-top: 3px solid var(--burgundy);
  box-shadow: none;
}
.archive-card, .service-card { min-height: 250px; padding: 1.65rem; }
.archive-card h2, .service-card h2 { color: var(--ink); font-size: clamp(1.35rem, 2.4vw, 1.75rem); }
.archive-card p, .service-card p { color: var(--ink-mid); font-size: 15px; }
.archive-card a, .service-card a { color: var(--burgundy); font-size: 13px; letter-spacing: .5px; }
.tag, .eyebrow { color: var(--burgundy); }
.button { background: var(--burgundy); border-color: var(--burgundy); color: var(--cream); }
.button:hover { background: var(--burgundy-light); border-color: var(--burgundy-light); color: var(--cream); }
.button-secondary { background: transparent; color: var(--burgundy); }

.split { align-items: start; grid-template-columns: minmax(0, 1.2fr) minmax(280px, .8fr); margin-top: 0; }
.split h2 { color: var(--forest); font-size: 1.65rem; margin-top: 0; }
.split p, .split li { color: var(--ink-mid); font-size: 16px; }
.panel { background: var(--cream); border-left: 4px solid var(--burgundy); }
.panel h2 { color: var(--forest); }

.article-layout { grid-template-columns: minmax(0, 1fr) 250px; }
.article { padding: 2.25rem; }
.article h1 { color: var(--ink); }
.article-meta { color: var(--warm-grey); }
.article-body { color: var(--ink-mid); }
.article-body strong { color: var(--ink); }
.article-body .post-example { background: var(--cream); border-left-color: var(--burgundy); }
.aside-card { background: var(--cream); border-color: var(--cream-dark); }
.aside-card h2 { color: var(--forest); font-size: 1.5rem; }

/* Remove the long green wall from the generated archive page. */
.notice { background: var(--cream); border-top: 3px solid var(--burgundy); color: var(--ink); margin-top: 2.5rem; padding: 2rem; }
.notice h2 { color: var(--forest); }
.notice p { color: var(--ink-mid); }
.notice .button-secondary { border-color: var(--burgundy); color: var(--burgundy); }

footer { background: var(--ink); border-top: 0; color: var(--cream); padding: 2rem 0; }
.footer-inner { padding: 0 2rem; }
.footer-brand { color: var(--gold); font-family: "Playfair Display", Georgia, serif; font-weight: 400; }
.footer-copy, .footer-links a { color: rgba(247, 242, 234, .65); }
.footer-links a:hover { color: var(--gold); }

@media (max-width: 820px) {
  .nav-inner { flex-direction: row; height: var(--nav-height); padding: 0 1.25rem; }
  .nav-links { display: none; }
  .nav-hamburger { display: flex; }
  .nav-mobile { background: var(--ink); border-top: 1px solid rgba(247, 242, 234, .08); display: none; left: 0; padding: 1.5rem 2rem 2rem; position: fixed; right: 0; top: var(--nav-height); z-index: 99; }
  .nav-mobile.open { display: block; }
  .nav-mobile a { border-bottom: 1px solid rgba(247, 242, 234, .07); color: rgba(247, 242, 234, .75); display: block; font: 700 13px/1.2 Lato, Arial, sans-serif; letter-spacing: 1.5px; padding: .9rem 0; text-decoration: none; text-transform: uppercase; }
  .nav-mobile a:last-child { border-bottom: 0; color: var(--gold); margin-top: .5rem; }
  .hero { margin-top: var(--nav-height); padding: 3rem 1.25rem; }
  .page { padding: 2.5rem 1.25rem 4rem; }
  .archive-grid, .service-grid, .article-layout, .split { grid-template-columns: 1fr; }
  .article-asides { grid-row: auto; }
  .article { padding: 1.5rem 1.25rem; }
}
