.contact-page{background:var(--color-surface)}.contact-intro{padding-block:clamp(3rem,5vw,4.5rem) clamp(2.25rem,3vw,3rem)}.contact-kicker{margin:0;color:var(--color-action);font-size:var(--text-overline);font-weight:600;letter-spacing:var(--tracking-overline);text-transform:uppercase}.contact-intro h1{max-width:54rem;margin:var(--space-4) 0 0;color:var(--color-ink);font-family:var(--font-display);font-size:var(--text-h1);font-weight:600;line-height:var(--leading-heading);letter-spacing:var(--tracking-heading)}.contact-intro p:last-child{max-width:45rem;margin:var(--space-5) 0 0;color:var(--color-text-muted);font-size:var(--text-lead);line-height:1.55}.contact-methods{padding-bottom:clamp(4rem,7vw,6rem)}.contact-layout{display:grid;grid-template-columns:minmax(0,1.06fr) minmax(0,.94fr);gap:clamp(1.5rem,4vw,4rem);align-items:stretch}.contact-direct{padding:clamp(1.75rem,3vw,2.75rem);border:1px solid #a8cece;border-radius:var(--radius-md);background:linear-gradient(125deg,#d8eeee,#edf8f8 65%,#f7fbfb)}.contact-direct h2,.contact-other h2{margin:var(--space-4) 0 0;font-family:var(--font-display);font-size:clamp(1.6rem,1.5vw + 1rem,2.125rem);font-weight:600;line-height:var(--leading-heading);letter-spacing:var(--tracking-heading)}.contact-direct>p:not(.contact-kicker){max-width:25rem;margin:var(--space-4) 0 0;color:var(--color-text-muted);font-size:var(--text-body);line-height:1.6}.contact-direct-actions{display:flex;flex-wrap:wrap;gap:var(--space-3);margin-top:var(--space-8)}.contact-direct-actions a{display:inline-flex;align-items:center;justify-content:center;min-width:9.5rem;min-height:3rem;padding:.75rem 1.125rem;border:1px solid var(--color-action);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-brand-dark);font-size:.9375rem;font-weight:600;text-decoration:none;transition:background-color var(--transition-base),color var(--transition-base)}.contact-direct-actions a:hover{background:var(--color-action);color:var(--color-surface)}.contact-direct-actions a:focus-visible,.contact-other-row a:focus-visible{outline:2px solid var(--color-action);outline-offset:3px}.contact-other{padding:var(--space-2) 0}.contact-other h2{margin-top:0}.contact-other-row{padding-top:var(--space-5);margin-top:var(--space-5);border-top:1px solid var(--color-border)}.contact-other-row p{margin:0 0 var(--space-2);color:var(--color-text-muted);font-size:.75rem;font-weight:600;letter-spacing:.045em;text-transform:uppercase}.contact-other-row a{display:inline-block;color:var(--color-brand-dark);font-size:var(--text-body);font-weight:600;text-decoration:underline;text-decoration-color:#a8cece;text-underline-offset:.25em;overflow-wrap:anywhere}.contact-other-row a:hover{color:var(--color-action);text-decoration-color:currentColor}.contact-other-row span{display:block;margin-top:var(--space-2);line-height:1.55}.contact-closing,.contact-other-row span{color:var(--color-text-muted);font-size:var(--text-small)}.contact-closing{max-width:56rem;margin:var(--space-8) 0 0;padding-top:var(--space-5);border-top:1px solid var(--color-border);line-height:1.7}@media (max-width:767px){.contact-layout{grid-template-columns:minmax(0,1fr);gap:var(--space-8)}.contact-direct-actions a{flex:1 1 9.5rem}.contact-other{padding:0}}.contact-form-section{padding-block:clamp(3rem,6vw,5.5rem);border-top:1px solid var(--color-border);background:var(--color-surface-soft)}.contact-form-layout{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(2rem,5vw,5rem);align-items:start}.contact-form-copy h2{margin:var(--space-4) 0 0;color:var(--color-ink);font-family:var(--font-display);font-size:var(--text-h2);font-weight:600;line-height:var(--leading-heading);letter-spacing:var(--tracking-heading)}.contact-form-copy>p:last-child{max-width:24rem;margin:var(--space-4) 0 0;color:var(--color-text-muted);line-height:1.65}.contact-enquiry-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-5) var(--space-4);position:relative}.contact-form-full{grid-column:1/-1}.contact-form-field{display:flex;flex-direction:column;gap:var(--space-2);min-width:0}.contact-form-field label{color:var(--color-ink);font-size:var(--text-small);font-weight:600}.contact-form-field label span{color:var(--color-text-muted);font-weight:400}.contact-form-field input,.contact-form-field textarea{width:100%;min-height:3rem;padding:.75rem .875rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-ink);font:inherit}.contact-form-field textarea{resize:vertical;min-height:8.5rem}.contact-form-field input:focus-visible,.contact-form-field textarea:focus-visible{outline:2px solid var(--color-action);outline-offset:2px;border-color:var(--color-action)}.contact-form-field textarea::placeholder{color:var(--color-text-muted);opacity:.8}.contact-form-privacy{display:flex;align-items:flex-start;gap:.75rem}.contact-form-privacy input{flex:0 0 auto;width:1.125rem;height:1.125rem;margin:.15rem 0 0;accent-color:var(--color-action);cursor:pointer}.contact-form-privacy label{color:var(--color-text-muted);font-size:var(--text-small);line-height:1.6;cursor:pointer}.contact-form-privacy a{color:var(--color-brand-dark);font-weight:600;text-decoration:underline;text-decoration-color:var(--color-action);text-underline-offset:.2em}.contact-form-privacy a:hover{color:var(--color-action)}.contact-form-privacy input:focus-visible{outline:2px solid var(--color-action);outline-offset:3px}.contact-form-bottom{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--space-5)}.contact-form-bottom p{max-width:22rem;margin:0;color:var(--color-text-muted);font-size:var(--text-small);line-height:1.6}.contact-form-bottom button{flex:0 0 auto;min-height:3rem;padding:.75rem 1.5rem;border:1px solid var(--color-action);border-radius:var(--radius-sm);background:var(--color-action);color:var(--color-surface);font:inherit;font-size:.875rem;font-weight:600;cursor:pointer}.contact-form-bottom button:hover{background:var(--color-brand-dark);border-color:var(--color-brand-dark)}.contact-form-bottom button:disabled{opacity:.65;cursor:wait}.contact-form-bottom button:focus-visible{outline:2px solid var(--color-action);outline-offset:3px}.contact-form-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.contact-form-error{margin:0;color:var(--color-error);font-size:var(--text-small)}.contact-form-success{padding:var(--space-8);border:1px solid #a8cece;border-radius:var(--radius-md);background:var(--color-surface)}.contact-form-success h3{margin:0;font-family:var(--font-display);font-size:var(--text-h3)}.contact-form-success p{margin:var(--space-3) 0 0;color:var(--color-text-muted)}@media (max-width:767px){.contact-form-layout{grid-template-columns:minmax(0,1fr)}}@media (max-width:560px){.contact-enquiry-form{grid-template-columns:minmax(0,1fr)}.contact-form-bottom{align-items:stretch;flex-direction:column}.contact-form-bottom button{width:100%}}.contact-thank-you-section{display:flex;align-items:center;min-height:min(70vh,42rem);padding-block:clamp(5rem,10vw,9rem);background:linear-gradient(140deg,var(--color-surface) 38%,var(--color-surface-soft))}.contact-thank-you-layout{width:100%}.contact-thank-you-content{max-width:43rem;padding-left:clamp(1.25rem,2.5vw,2rem);border-left:2px solid var(--color-action)}.contact-thank-you-content h1{margin:var(--space-4) 0 0;color:var(--color-ink);font-family:var(--font-display);font-size:clamp(2.5rem,4vw,4.5rem);font-weight:600;line-height:var(--leading-heading);letter-spacing:var(--tracking-heading)}.contact-thank-you-content>p:not(.contact-kicker){max-width:34rem;margin:var(--space-6) 0 0;color:var(--color-text-muted);font-size:var(--text-lead);line-height:1.6}.contact-thank-you-content a{display:inline-flex;align-items:center;min-height:3rem;margin-top:var(--space-8);padding:.75rem 1.25rem;border:1px solid var(--color-action);border-radius:var(--radius-sm);color:var(--color-brand-dark);font-size:.9375rem;font-weight:600;text-decoration:none;transition:background-color var(--transition-base),color var(--transition-base)}.contact-thank-you-content a:hover{background:var(--color-action);color:var(--color-surface)}.contact-thank-you-content a:focus-visible{outline:2px solid var(--color-action);outline-offset:3px}