/* JW Blocks — self-contained module styles.
   AI controls everything in this file. Editing here restyles every page that uses these modules. */

.jw-hero, .jw-features, .jw-faq { box-sizing: border-box; }
.jw-hero *, .jw-features *, .jw-faq * { box-sizing: border-box; }

/* ---------- Hero ---------- */
.jw-hero { background: #0B1F3A; color: #fff; padding: 96px 24px; text-align: center; }
.jw-hero__inner { max-width: 760px; margin: 0 auto; }
.jw-hero__eyebrow { color: #E8A54B; font: 600 14px/1 Arial, Helvetica, sans-serif; letter-spacing: .08em; text-transform: uppercase; margin: 0 0 16px; }
.jw-hero__title { font-family: Georgia, "Times New Roman", serif; font-size: clamp(40px, 6vw, 68px); line-height: 1.05; font-weight: 700; margin: 0 0 20px; }
.jw-hero__sub { color: rgba(255,255,255,.8); font: 400 18px/1.6 Arial, Helvetica, sans-serif; margin: 0 0 32px; }
.jw-hero__btn { display: inline-block; background: #E8A54B; color: #0B1F3A; padding: 14px 32px; border-radius: 999px; font: 700 16px/1 Arial, Helvetica, sans-serif; text-decoration: none; transition: transform .15s ease; }
.jw-hero__btn:hover { transform: translateY(-2px); }

/* ---------- Feature cards ---------- */
.jw-features { background: #FAF7F2; padding: 80px 24px; }
.jw-features__title { font-family: Georgia, "Times New Roman", serif; text-align: center; font-size: clamp(28px, 4vw, 42px); color: #0B1F3A; margin: 0 0 48px; }
.jw-features__grid { max-width: 1100px; margin: 0 auto; display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 24px; }
.jw-card { background: #fff; border: 1px solid #E5E0D8; border-radius: 20px; padding: 32px; }
.jw-card__title { font-family: Georgia, "Times New Roman", serif; font-size: 22px; color: #0B1F3A; margin: 0 0 12px; }
.jw-card__text { color: #6B6B6B; font: 400 15px/1.6 Arial, Helvetica, sans-serif; margin: 0; }

/* ---------- FAQ accordion (native <details>, no JS) ---------- */
.jw-faq { background: #fff; padding: 80px 24px; }
.jw-faq__title { font-family: Georgia, "Times New Roman", serif; text-align: center; font-size: clamp(28px, 4vw, 42px); color: #0B1F3A; margin: 0 0 40px; }
.jw-faq__list { max-width: 760px; margin: 0 auto; }
.jw-faq__item { border: 1px solid #E5E0D8; border-radius: 14px; background: #FAF7F2; margin-bottom: 14px; padding: 0 24px; }
.jw-faq__q { display: flex; justify-content: space-between; align-items: center; gap: 16px; cursor: pointer; list-style: none; padding: 20px 0; font: 700 17px/1.4 Georgia, "Times New Roman", serif; color: #0B1F3A; }
.jw-faq__q::-webkit-details-marker { display: none; }
.jw-faq__icon { color: #E8A54B; font-size: 26px; line-height: 1; flex: none; transition: transform .2s ease; }
.jw-faq__item[open] .jw-faq__icon { transform: rotate(45deg); }
.jw-faq__a { padding: 0 0 22px; color: #6B6B6B; font: 400 16px/1.65 Arial, Helvetica, sans-serif; }
.jw-faq__a p { margin: 0 0 10px; }
.jw-faq__a p:last-child { margin-bottom: 0; }
