/* HERO */
.hero { position: relative; color: #fff; padding-block: 4.5rem; overflow: hidden; background-color: var(--navy);
  background-image: linear-gradient(90deg, rgba(24,27,92,.9) 0%, rgba(24,27,92,.7) 45%, rgba(24,27,92,.35) 100%), url("../assets/images/hero%20photo.png");
  background-size: cover; background-position: center; }
.hero::before { content: ""; position: absolute; right: -180px; top: -180px; width: 520px; height: 520px; border: 40px solid rgba(255,212,0,.16); border-radius: 50%; }
.hero::after { content: ""; position: absolute; left: -120px; bottom: -200px; width: 420px; height: 420px; background: rgba(24,27,92,.8); border-radius: 50%; }
.hero__decor { position: absolute; inset: 0; pointer-events: none; }
.decor { position: absolute; fill: var(--yellow); }
.decor .stroke { stroke: var(--yellow); stroke-width: 5; fill: none; stroke-linecap: round; }
.decor--cap { width: 280px; right: 4%; top: 18px; opacity: .3; transform: rotate(12deg); }
.decor--stars { width: 130px; right: 20%; top: 14px; opacity: .35; }
.decor--books { width: 250px; left: 3%; bottom: 16px; opacity: .28; fill: #fff; }
.decor--books .band { fill: var(--yellow); }
@media (max-width: 900px) {
  .decor--cap { width: 150px; right: 2%; top: 10px; opacity: .22; }
  .decor--stars { width: 80px; right: 38%; top: 10px; opacity: .3; }
  .decor--books { width: 140px; left: 2%; bottom: 8px; opacity: .2; }
}
.hero__grid { position: relative; z-index: 1; display: grid; grid-template-columns: 1.15fr .85fr; gap: 3rem; align-items: center; }
.hero__badge { display: inline-block; background: var(--yellow); color: var(--navy-deep); font-weight: 800; padding: .3rem .9rem; border-radius: 999px; margin-bottom: 1rem; }
.hero h1 { font-size: clamp(2.2rem, 4.6vw, 3.6rem); font-weight: 800; max-width: 14ch; }
.hero__lead { font-size: 1.15rem; max-width: 52ch; color: #e3e6ff; }
.hero__points { margin: 1.2rem 0 1.8rem; display: grid; gap: .5rem; }
.hero__points li { padding-left: 1.7rem; position: relative; font-weight: 600; }
.hero__points li::before { content: ""; position: absolute; left: 0; top: .5em; width: 12px; height: 7px; border-left: 3px solid var(--yellow); border-bottom: 3px solid var(--yellow); transform: rotate(-45deg); }
.hero__actions { display: flex; gap: 1rem; flex-wrap: wrap; }

.enquiry { background: #fff; color: var(--ink); border-radius: 14px; padding: 1.8rem; border-top: 6px solid var(--yellow); box-shadow: 0 20px 50px rgba(0,0,0,.35); }
.enquiry h2 { color: var(--navy); font-size: 1.6rem; margin-bottom: .3rem; }
.enquiry__sub { color: var(--muted); font-size: .92rem; }
.enquiry label { display: block; font-weight: 700; font-size: .9rem; margin-bottom: .8rem; }
.enquiry input, .enquiry select, .enquiry textarea { width: 100%; margin-top: .25rem; padding: .65rem .8rem; font: inherit; border: 1.5px solid #c9cde6; border-radius: 6px; background: #fff; color: var(--ink); }
.enquiry input:focus, .enquiry select:focus, .enquiry textarea:focus { outline: none; border-color: var(--navy); box-shadow: 0 0 0 3px rgba(46,49,146,.2); }
.req { color: #d11a2a; font-weight: 800; margin-left: .1rem; }
.field-error { display: block; color: #b3261e; font-size: .8rem; font-weight: 700; margin-top: .25rem; }
.enquiry input[aria-invalid="true"], .enquiry select[aria-invalid="true"] { border-color: #d11a2a; background: #fff6f6; }
.enquiry input::placeholder, .enquiry textarea::placeholder { color: #8b90ad; font-weight: 400; }
.enquiry__note { font-size: .85rem; color: var(--muted); margin-bottom: .8rem; }
.enquiry__status { background: #e7f7ee; color: #14663a; border-radius: 6px; padding: .6rem .8rem; font-weight: 700; font-size: .9rem; }

@media (max-width: 900px) {
  .hero { padding-block: 3rem; }
  .hero__grid { grid-template-columns: 1fr; }
  .hero h1 { max-width: none; }
}
