.pillar-button{appearance:none;border:1px solid var(--navy);background:transparent;color:var(--navy);font:inherit;font-weight:700;line-height:1.2;padding:.62rem .85rem;cursor:pointer;transition:background-color .25s ease,color .25s ease,transform .25s ease,box-shadow .25s ease}.pillar-button:hover,.pillar-button:focus-visible{background:var(--navy);color:var(--white);transform:translateY(-2px);box-shadow:0 8px 18px rgba(16,42,82,.16)}.pillar-button:focus-visible{outline:3px solid rgba(189,139,54,.4);outline-offset:3px}.form-modal{width:min(94vw,640px);max-height:90vh;margin:auto;padding:0;border:0;background:transparent;color:var(--ink);overflow:visible}.form-modal::backdrop{background:rgba(7,27,54,.72);backdrop-filter:blur(5px)}.modal-card{position:relative;background:var(--cream);border-top:5px solid var(--gold);box-shadow:0 30px 90px rgba(0,0,0,.35);max-height:90vh;overflow-y:auto}.modal-content{padding:clamp(28px,5vw,48px)}.modal-kicker{margin:0 0 8px;color:var(--gold);font-size:.72rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase}.modal-content h2{margin:0 3rem 28px 0;color:var(--navy);font-size:clamp(2rem,5vw,3.2rem);line-height:1}.modal-close{position:absolute;z-index:2;top:16px;right:18px;width:42px;height:42px;border:1px solid rgba(16,42,82,.22);background:transparent;color:var(--navy);font-size:1.8rem;line-height:1;cursor:pointer;transition:background-color .2s ease,color .2s ease}.modal-close:hover,.modal-close:focus-visible{background:var(--navy);color:white}.form-modal form{display:grid;gap:18px}.form-modal label{display:grid;gap:7px;color:var(--navy);font-size:.88rem;font-weight:700}.form-modal label small{font-weight:400;color:#667085}.form-modal input[type="text"],.form-modal input[type="email"],.form-modal input[type="tel"],.form-modal textarea{width:100%;border:1px solid rgba(16,42,82,.26);background:white;color:var(--ink);padding:12px 14px;border-radius:0;font:inherit;transition:border-color .2s ease,box-shadow .2s ease}.form-modal textarea{resize:vertical}.form-modal input:focus,.form-modal textarea:focus{outline:0;border-color:var(--gold);box-shadow:0 0 0 3px rgba(189,139,54,.18)}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}.form-modal fieldset{margin:0;padding:0;border:0}.form-modal legend{margin-bottom:7px;color:var(--navy);font-size:.88rem;font-weight:700}.form-modal .choice{display:inline-flex;align-items:center;gap:7px;margin-right:24px;font-weight:500}.choice input,.privacy-check input{accent-color:var(--navy);width:18px;height:18px}.fee-note{margin:0;padding:12px 14px;border-left:3px solid var(--gold);background:rgba(189,139,54,.1);font-weight:600;color:var(--navy)}.form-modal .privacy-check{display:flex;grid-template-columns:auto 1fr;align-items:flex-start;gap:10px;font-weight:500}.privacy-check input{flex:0 0 auto;margin-top:3px}.modal-submit{justify-self:start;border:0;background:var(--gold);color:white;padding:14px 22px;font:inherit;font-size:.9rem;font-weight:700;cursor:pointer;transition:background-color .25s ease,transform .25s ease,box-shadow .25s ease}.modal-submit:hover,.modal-submit:focus-visible{background:#a67629;transform:translateY(-2px);box-shadow:0 8px 18px rgba(189,139,54,.25)}.modal-success{padding:28px 0 14px;color:var(--navy);font-size:1.15rem}.modal-success strong{display:block;margin-bottom:8px;font-family:'Playfair Display',serif;font-size:2rem;color:var(--gold)}body.modal-open{overflow:hidden}@media(max-width:520px){.form-modal{width:calc(100vw - 24px);max-height:calc(100vh - 24px)}.modal-card{max-height:calc(100vh - 24px)}.field-row{grid-template-columns:1fr}.modal-content{padding:28px 20px}.modal-close{top:12px;right:12px}}
@media(prefers-reduced-motion:reduce){.pillar-button,.modal-close,.modal-submit{transition:none}}
