.contact-page{--contact-ink:#171a18;--contact-muted:#555b57;--contact-ground:#f3f4f2;color:var(--contact-ink);background:#fff;font-family:Outfit,Arial,sans-serif}
.contact-page *{box-sizing:border-box}.contact-page a{color:inherit}.contact-hero{display:grid;grid-template-columns:1fr 1.04fr;align-items:center;gap:clamp(30px,6vw,100px);padding:clamp(44px,6vw,90px) clamp(20px,6.7vw,108px) clamp(72px,8vw,120px);min-height:650px}.contact-hero-copy{max-width:650px}.contact-eyebrow{margin:0 0 18px;color:var(--spica-accent);font-size:12px;font-weight:750;letter-spacing:.14em}.contact-hero h1{max-width:12ch;margin:0 0 28px;font-size:clamp(52px,5.8vw,92px);font-weight:650;letter-spacing:-.065em;line-height:.98}.contact-hero-copy>p:not(.contact-eyebrow){max-width:50ch;color:var(--contact-muted);font-size:clamp(17px,1.3vw,20px);line-height:1.7}.contact-hero-link,.contact-details>div>a,.contact-submit{display:inline-flex;min-height:54px;align-items:center;justify-content:center;padding:12px 27px;border:0;border-radius:999px;color:#fff!important;background:var(--contact-ink);font:700 15px Outfit,Arial,sans-serif;text-decoration:none;cursor:pointer;transition:transform .32s cubic-bezier(.2,.7,.2,1),background-color .25s ease}.contact-hero-link{margin-top:22px}.contact-hero-link:hover,.contact-details>div>a:hover,.contact-submit:hover{background:var(--spica-accent);text-decoration:none}.contact-hero-link:active,.contact-details>div>a:active,.contact-submit:active{transform:scale(.97)}.contact-hero-image{position:relative;margin:0;overflow:hidden;border-radius:28px;background:var(--contact-ground)}.contact-hero-image img{display:block;width:100%;height:clamp(400px,48vw,660px)!important;object-fit:cover;object-position:center}.contact-hero-image figcaption{position:absolute;right:20px;bottom:18px;left:20px;color:#fff;font-size:13px;font-weight:600;text-shadow:0 1px 8px #000a}.contact-enquiry{padding:clamp(76px,8vw,132px) clamp(20px,6.7vw,108px);background:var(--contact-ground)}.contact-heading{text-align:center}.contact-heading h2,.contact-details h2{margin:0;font-size:clamp(38px,4.2vw,64px);font-weight:650;letter-spacing:-.055em;line-height:1.05}.contact-heading>p:last-child{max-width:660px;margin:20px auto 0;color:var(--contact-muted);font-size:17px;line-height:1.65}.contact-heading a,.contact-details address a{color:var(--spica-accent);text-underline-offset:4px}.contact-form{max-width:1440px;margin:clamp(44px,5vw,76px) auto 0}.contact-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px 28px}.contact-fields label{display:block;color:var(--contact-ink);font-size:14px;font-weight:600}.contact-fields label span{color:var(--spica-accent)}.contact-fields input,.contact-fields textarea{display:block;width:100%;margin-top:10px;padding:18px 24px;border:1px solid transparent;border-radius:999px;outline:none;color:var(--contact-ink);background:#fff;font:400 16px Outfit,Arial,sans-serif;transition:border-color .2s ease,box-shadow .2s ease,background-color .2s ease}.contact-fields input{height:68px}.contact-fields textarea{min-height:220px;border-radius:28px;resize:vertical}.contact-fields input:focus,.contact-fields textarea:focus{border-color:var(--spica-accent);box-shadow:0 0 0 3px #a5360a20}.contact-fields input::placeholder,.contact-fields textarea::placeholder{color:#737a75}.contact-message{grid-column:1/-1}.contact-form-bottom{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:28px}.contact-form-bottom p{margin:0;color:var(--contact-muted);font-size:14px}.contact-details{display:grid;grid-template-columns:1fr 1fr;gap:50px;padding:clamp(78px,9vw,130px) clamp(20px,6.7vw,108px);background:#fff}.contact-details>div>p:not(.contact-eyebrow){max-width:48ch;margin:22px 0;color:var(--contact-muted);font-size:17px;line-height:1.65}.contact-details address{align-self:center;margin:0;font-style:normal;font-size:clamp(17px,1.4vw,21px);line-height:1.9}.contact-page :focus-visible{outline:3px solid var(--spica-accent);outline-offset:4px}
@media(max-width:900px){.contact-hero{grid-template-columns:1fr;min-height:0}.contact-hero-image img{height:480px!important}.contact-fields{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.contact-hero{padding:38px 18px 68px;gap:35px}.contact-hero h1{font-size:clamp(46px,12vw,66px)}.contact-hero-image img{height:350px!important}.contact-enquiry{padding:70px 18px}.contact-fields{grid-template-columns:1fr;gap:19px}.contact-fields input{height:60px}.contact-fields textarea{min-height:210px}.contact-form-bottom{align-items:flex-start;flex-direction:column}.contact-details{grid-template-columns:1fr;padding:70px 18px;gap:26px}}
@media(prefers-reduced-motion:reduce){.contact-page *, .contact-page *::before,.contact-page *::after{animation:none!important;transition:none!important}}
@media(prefers-reduced-motion:no-preference){
  .contact-hero-copy>*{animation:contact-rise .65s cubic-bezier(.2,.7,.2,1) both}
  .contact-hero-copy>*:nth-child(2){animation-delay:.08s}
  .contact-hero-copy>*:nth-child(3){animation-delay:.16s}
  .contact-hero-copy>*:nth-child(4){animation-delay:.24s}
  .contact-hero-image{animation:contact-image .85s cubic-bezier(.2,.7,.2,1) both .1s}
  .contact-fields input:hover,.contact-fields textarea:hover{background:#fafbf9}
  @keyframes contact-rise{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}
  @keyframes contact-image{from{opacity:0;transform:translateY(20px) scale(.985)}to{opacity:1;transform:none}}
}
