.p-contact { background: var(--color-bg); }
.p-contact-hero { background: var(--color-bg-subtle); }
.p-contact-hero__glow { background: radial-gradient(circle at 88% 30%, rgba(0,173,255,.14), transparent 34%); }
.p-contact-form { padding-block: var(--space-section); scroll-margin-block-start: var(--header-height); }
.p-contact-form__head { margin-block-end: var(--space-8); }
.p-contact-form__head h2 { margin: var(--space-3) 0 var(--space-4); font-size: var(--fs-h2); line-height: 1.25; }
.p-contact-form__body { display: grid; gap: var(--space-7); }
.c-form-field { display: grid; gap: var(--space-3); padding-block-end: var(--space-6); border-block-end: 1px solid var(--color-border); }
.c-form-field label,.c-form-field legend { font-weight: 600; }
.c-form-field label span,.c-form-field label strong,.c-form-field legend strong { margin-inline-start: .5rem; font-size: .75rem; }
.c-form-field label strong,.c-form-field legend strong { color: var(--color-brand-blue); }
.c-form-field input[type="text"],.c-form-field input[type="email"],.c-form-field input[type="tel"],.c-form-field textarea { inline-size: 100%; padding: .9rem 1rem; background: #fff; border: 1px solid var(--color-border); border-radius: 5px; }
.c-form-field input:focus,.c-form-field textarea:focus { border-color: var(--color-brand-cyan); outline: 2px solid rgba(0,173,255,.22); }
.c-form-field small { color: var(--color-text-muted); }
.c-form-options { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .75rem; }
.c-form-options label { display: flex; align-items: center; gap: .65rem; padding: .85rem 1rem; background: var(--color-bg-subtle); border: 1px solid transparent; border-radius: 5px; font-weight: 500; }
.c-form-options label:has(input:checked) { background: rgba(0,173,255,.08); border-color: var(--color-brand-cyan); }
.c-form-options label span,.c-form-field--privacy label span { margin: 0; font-size: inherit; }
.c-form-field--privacy label { display: flex; align-items: center; gap: .75rem; }
.p-contact-form__submit,.c-button--primary { justify-self: start; padding: .9rem 1.6rem; background: var(--color-navy); border-color: var(--color-navy); color: #fff; cursor: pointer; }
.p-contact-form__submit:hover,.p-contact-form__submit:focus-visible,.c-button--primary:hover,.c-button--primary:focus-visible { background: var(--color-brand-blue); border-color: var(--color-brand-blue); }
.c-form-errors { padding: var(--space-5); margin-block-end: var(--space-7); background: #fff5f5; border-inline-start: 4px solid #c62828; }
.c-form-errors p { margin-block-start: 0; font-weight: 700; }.c-form-errors ul { margin-block-end: 0; }
.c-form-errors a { color: inherit; text-decoration-thickness: .08em; text-underline-offset: .2em; }
.c-form-field__error { margin-block: .5rem 0; color: #a51d1d; font-size: .875rem; font-weight: 650; }
[aria-invalid="true"] { border-color: #a51d1d; }
.p-contact-confirm { border-block-start: 1px solid var(--color-border); }.p-contact-confirm div { display: grid; grid-template-columns: minmax(8rem,14rem) 1fr; gap: var(--space-6); padding-block: var(--space-5); border-block-end: 1px solid var(--color-border); }.p-contact-confirm dt { font-weight: 700; }.p-contact-confirm dd { margin: 0; white-space: normal; }
.p-contact-confirm__actions { display: flex; gap: var(--space-4); margin-block-start: var(--space-7); }
.p-contact--thanks { display: grid; align-items: center; min-block-size: 70vh; padding-block: var(--space-section); }.p-contact--thanks h1 { max-inline-size: min(11em, 100%); margin: var(--space-4) 0 var(--space-6); font-size: clamp(3rem, 5.2vw, 5.5rem); font-weight: 600; line-height: 1.2; letter-spacing: -.05em; }
@media(max-width:767px){.c-form-options{grid-template-columns:1fr}.p-contact-confirm div{grid-template-columns:1fr;gap:.35rem}.p-contact-confirm__actions{align-items:stretch;flex-direction:column}.p-contact-confirm__actions .c-button{inline-size:100%}.p-contact--thanks h1{font-size:clamp(2rem,8.5vw,3rem);line-height:1.2;letter-spacing:-.055em}}
