:root {
  color-scheme: light;
  font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  color: #24443e;
  background: #f5f2e9;
  -webkit-font-smoothing: antialiased;
}
* { box-sizing: border-box; }
body { margin: 0; min-height: 100svh; background: radial-gradient(ellipse at 93% 15%, #eadab777, transparent 48%); }
.page { max-width: 1060px; min-height: 100svh; margin: auto; padding: 38px 48px 28px; display: flex; flex-direction: column; }
header, footer { display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.wordmark { color: inherit; text-decoration: none; font-family: Georgia, serif; font-size: 25px; letter-spacing: .04em; }
.wordmark span { color: #9c7747; font-style: italic; }
.location { color: #64716a; font-size: 12px; letter-spacing: .07em; }
main { width: min(100%, 680px); margin: auto; padding: 80px 0 100px; }
.eyebrow { color: #68766b; font-size: 10px; font-weight: 600; letter-spacing: .17em; line-height: 1.8; text-transform: uppercase; }
h1 { font-family: Georgia, "Times New Roman", serif; font-size: clamp(52px, 8vw, 84px); font-weight: 400; letter-spacing: -.055em; line-height: 1.14; margin: 20px 0 18px; }
h1 em { color: #a47b43; font-weight: 400; }
.intro { color: #68736b; font-size: 17px; line-height: 1.8; margin: 0 0 42px; }
.weather-card { display: flex; gap: 22px; align-items: center; color: inherit; text-decoration: none; padding: 26px; background: #ffffff80; border: 1px solid #d8ded2; border-radius: 14px; transition: background .18s, border-color .18s, transform .18s; }
.weather-card:hover { background: #ffffffdd; border-color: #91a392; transform: translateY(-2px); }
a:focus-visible { outline: 3px solid #84632d; outline-offset: 6px; }
.weather-icon { width: 66px; height: 66px; display: grid; place-items: center; flex: 0 0 auto; color: #9f793b; }
.weather-icon svg { width: 62px; height: 62px; }
.cloud { fill: #fafaf4; stroke: #3f6254; }
.weather-copy { display: flex; flex-direction: column; gap: 6px; }
.card-kicker { text-transform: uppercase; letter-spacing: .12em; font-size: 9px; color: #72806f; font-weight: 650; }
.card-title { font-family: Georgia, serif; font-size: 26px; line-height: 1.25; }
.card-description { font-size: 13px; line-height: 1.6; color: #5d6f63; }
.demo-note { font-size: 11px; color: #7d7058; line-height: 1.6; }
.arrow { margin-left: auto; color: #496958; font-size: 26px; }
footer { border-top: 1px solid #d8ded2; padding-top: 20px; font-size: 10px; color: #758073; line-height: 1.8; }
@media (max-width: 600px) {
  .page { padding: 25px 24px; }
  .location { font-size: 10px; }
  main { padding: 70px 0 80px; }
  .intro { font-size: 15px; }
  .weather-card { gap: 12px; padding: 20px 16px; }
  .weather-icon { width: 42px; height: 48px; }
  .weather-icon svg { width: 42px; height: 42px; }
  .card-title { font-size: 22px; }
  .card-description { font-size: 12px; }
  footer { flex-direction: column; align-items: flex-start; gap: 2px; }
}
@media (prefers-reduced-motion: reduce) { .weather-card { transition: none; } }
