*{box-sizing:border-box} :root{--ivory:#fbf8f2;--sage:#dfe8df;--deep:#718777;--navy:#17344c;--ink:#252724;--taupe:#716c65;--line:rgba(37,39,36,.12)}body{margin:0;background:var(--ivory);color:var(--ink);font-family:'DM Sans',sans-serif;line-height:1.6}a{color:var(--navy)}.skip{position:absolute;top:-60px;left:10px}.skip:focus{top:10px}header{max-width:1000px;margin:auto;padding:16px 25px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);min-height:78px}header img{height:52px;max-width:230px;width:auto;object-fit:contain}header span{font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;font-weight:700;color:var(--taupe)}main{max-width:820px;margin:auto;padding:55px 22px 65px}.intro{text-align:center;max-width:640px;margin:0 auto 30px}.eyebrow{font-size:.72rem;letter-spacing:.14em;font-weight:700;color:var(--deep)}h1,h2{font-family:'Playfair Display',serif;font-weight:600;line-height:1.15}h1{font-size:clamp(2.8rem,6vw,4.2rem);letter-spacing:-.04em;margin:12px 0}h1 em{color:var(--deep)}.intro>p:last-child{color:var(--taupe)}form{background:#fff;border:1px solid rgba(23,52,76,.07);border-radius:22px;padding:34px;box-shadow:0 20px 55px rgba(23,52,76,.07)}.section-title{display:flex;align-items:flex-start;gap:13px;margin-bottom:22px}.section-title>span{width:34px;height:34px;display:grid;place-items:center;flex:0 0 34px;border-radius:10px;background:var(--sage);color:var(--navy);font-size:.8rem;font-weight:700}.section-title h2{font-size:1.5rem;margin:1px 0 4px}.section-title p{font-size:.82rem;color:var(--taupe);margin:0}.fields{display:grid;grid-template-columns:1fr 1fr;gap:16px}label{font-size:.82rem;font-weight:700}label b{color:#9b5b4b}.fields label{display:flex;flex-direction:column;gap:7px}.fields input{height:48px;border:1px solid #d9d8d1;border-radius:10px;padding:12px;font:inherit;font-size:.9rem}.fields input:focus{outline:2px solid var(--deep);outline-offset:2px}hr{border:0;border-top:1px solid var(--line);margin:30px 0}.selection-tools{display:flex;align-items:center;justify-content:space-between;font-size:.8rem;font-weight:700;color:var(--deep);margin:-3px 0 13px}.selection-tools button{border:0;background:none;color:var(--taupe);text-decoration:underline;text-underline-offset:3px;cursor:pointer}.courses{display:grid;grid-template-columns:1fr 1fr;gap:10px}.course{display:flex;align-items:center;gap:11px;padding:13px;border:1px solid #e2e1da;border-radius:12px;min-height:62px;cursor:pointer;transition:background .15s,border-color .15s}.course:hover{border-color:#a9bbb0}.course:has(input:checked){background:#eef3ed;border-color:var(--deep)}.course input{position:absolute;opacity:0;width:1px;height:1px}.course i{font-style:normal;display:grid;place-items:center;width:22px;height:22px;flex:0 0 22px;border:1.5px solid #c8c9c1;border-radius:6px;color:transparent;background:#fff;font-size:.75rem}.course input:checked+i{background:var(--navy);border-color:var(--navy);color:#fff}.course input:focus-visible+i{outline:3px solid #477e9b;outline-offset:3px}.course span{font-size:.83rem;line-height:1.4}.hint{font-size:.76rem;color:var(--taupe);margin:13px 0 0}.consent{display:flex;gap:10px;align-items:flex-start;font-weight:500;line-height:1.55;color:#555a53}.consent input{margin-top:4px;accent-color:var(--navy);flex:0 0 17px}.last .hint{margin-bottom:18px}.submit{width:100%;min-height:54px;border:0;border-radius:999px;background:var(--navy);color:#fff;font:inherit;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:14px}.submit:hover{background:#254963}#form-message{font-size:.82rem;color:#774c2d}.contact{text-align:center;color:var(--taupe);font-size:.84rem;margin-top:23px}.contact a{font-weight:700}footer{background:var(--navy);color:white;text-align:center;padding:25px 15px}footer img{height:42px;max-width:200px;width:auto;object-fit:contain;background:#fff;padding:3px;border-radius:4px}footer p{font-weight:700;font-size:.85rem;margin:8px 0 3px}footer small{font-size:.74rem;color:rgba(255,255,255,.65)}@media(max-width:600px){header{padding:12px 16px;min-height:68px}header img{height:42px;max-width:160px}header span{font-size:.65rem}main{padding:40px 13px 48px}.intro{margin-bottom:23px}form{padding:22px 16px;border-radius:17px}.fields,.courses{grid-template-columns:1fr}.fields{gap:13px}hr{margin:24px 0}.section-title h2{font-size:1.32rem}.course{min-height:57px}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}/* Extended registration fields */
.fields .full{grid-column:1/-1}.fields textarea,.fields select{width:100%;border:1px solid #d9d8d1;border-radius:10px;padding:12px;font:inherit;font-size:.9rem;background:#fff;color:var(--ink);resize:vertical}.fields textarea:focus,.fields select:focus{outline:2px solid var(--deep);outline-offset:2px}.commitment{margin-top:18px}.permission-options{display:grid;gap:10px;margin:0 0 20px}.radio-option{display:flex;gap:11px;align-items:flex-start;border:1px solid #e2e1da;border-radius:12px;padding:14px;cursor:pointer;font-weight:400}.radio-option:has(input:checked){background:#eef3ed;border-color:var(--deep)}.radio-option input{margin-top:4px;accent-color:var(--navy);flex:0 0 16px}.radio-option span{display:flex;flex-direction:column;gap:4px}.radio-option strong{font-size:.86rem}.radio-option small{font-size:.78rem;color:var(--taupe);line-height:1.5}
