:root { font-family: Inter, ui-sans-serif, system-ui, sans-serif; color: #15231d; background: #f5f5ed; }
* { box-sizing: border-box; }
body { margin: 0; }
.page-shell { width: min(100% - 2rem, 880px); margin: 0 auto; padding: 4rem 0; }
.intro { max-width: 620px; margin-bottom: 2rem; }
.eyebrow { color: #176b45; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
h1 { font-size: clamp(2.4rem, 8vw, 4.75rem); margin: .1rem 0 .7rem; }
.intro p:last-child { color: #4f6259; font-size: 1.1rem; line-height: 1.6; }
.registration-card { padding: clamp(1.25rem, 4vw, 2.5rem); background: #fff; border-radius: 1.5rem; box-shadow: 0 18px 55px #173a2920; }
.field-grid, .package-grid { display: grid; gap: 1rem; }
.field-grid { grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); }
label, legend { font-weight: 700; }
input { width: 100%; margin-top: .45rem; padding: .8rem; border: 1px solid #b9c8bf; border-radius: .6rem; font: inherit; }
fieldset { border: 0; margin: 2rem 0 1.25rem; padding: 0; }
.package-grid { grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); margin-top: .7rem; }
.package-card { display: grid; gap: .35rem; min-height: 170px; padding: 1rem; border: 2px solid #d9e3dc; border-radius: .9rem; cursor: pointer; }
.package-card:has(input:checked) { border-color: #176b45; background: #eff9f2; }
.package-card input { width: auto; margin: 0; accent-color: #176b45; }
.package-title { font-size: 1.1rem; }.package-card span:last-child { color: #52665b; font-size: .9rem; font-weight: 400; }
.quantity { display: block; max-width: 260px; }
.total-card { margin: 1.5rem 0; padding: 1.25rem; border-radius: .9rem; background: #153e2c; color: white; }
.total-card span, .total-card small { display: block; }.total-card strong { display: block; margin: .25rem 0; font-size: 2rem; }.total-card p { margin: .8rem 0 0; color: #c9e7d4; font-size: .85rem; }
.consent { display: flex; gap: .65rem; align-items: flex-start; font-size: .9rem; }.consent input { width: auto; margin: .2rem 0 0; }
button { width: 100%; margin-top: 1.5rem; padding: .95rem 1.2rem; border: 0; border-radius: .7rem; background: #d5ff45; color: #102819; cursor: pointer; font: 800 1rem inherit; }
button:hover { background: #c6ed36; }
