.contact{position:relative;width:100%;min-height:100svh;background-color:var(--background);color:var(--foreground);display:flex;flex-direction:column;overflow-x:hidden}.contact-back{padding:6rem 1.5rem 0}.contact-back-btn{display:inline-flex;align-items:center;gap:.6rem;color:var(--foreground);text-decoration:none;cursor:pointer;padding:.5rem 1rem .5rem .5rem;border:1px solid var(--border);border-radius:5rem;background-color:var(--background-200);transition:border-color .3s ease,color .3s ease}.contact-back-btn:hover{border-color:var(--accent-gold);color:var(--accent-gold)}.contact-back-icon{width:1.75rem;height:1.75rem;flex:none;border-radius:50%;background-color:var(--btn-icon);color:var(--background);display:flex;justify-content:center;align-items:center;font-size:.9rem;transition:transform .3s ease}.contact-back-btn:hover .contact-back-icon{transform:translateX(-3px)}.contact-hero{flex:1 1;padding:2rem 1.5rem 4rem}.contact-hero,.contact-img-wrapper{display:flex;justify-content:center;align-items:center}.contact-img-wrapper{flex:2 1}.contact-img{width:40%;aspect-ratio:5/7}.contact-copy{flex:1 1}.contact-copy,.contact-copy-addresses{display:flex;flex-direction:column;gap:3rem}.contact-copy-addresses{position:relative;left:20%}.contact-copy-links a{display:block;color:var(--foreground);cursor:pointer;text-decoration:none}.contact-copy-links a:hover{color:var(--accent-gold)}.contact-socials{display:flex;flex-direction:column;gap:1rem}.contact-socials-label{color:var(--foreground-200)}.contact-socials-row{display:flex;gap:.75rem}.contact-social{width:2.5rem;height:2.5rem;border:1px solid var(--border);border-radius:50%;display:flex;justify-content:center;align-items:center;color:var(--foreground);text-decoration:none;font-size:1rem;background-color:var(--background-200);transition:background-color .3s ease,color .3s ease,border-color .3s ease,transform .3s ease}.contact-social:hover{background-color:var(--accent-gold);border-color:var(--accent-gold);color:var(--background);transform:translateY(-2px)}.contact-audit{display:grid;grid-template-columns:1fr 1.1fr;grid-gap:4rem;gap:4rem;padding:5rem 1.5rem;border-top:1px solid var(--border)}.contact-eyebrow{color:var(--foreground-200);margin-bottom:1.5rem}.contact-audit-title{font-family:var(--font-display);font-size:clamp(2rem,3.6vw,3.5rem);line-height:1.05;font-weight:400;margin-bottom:1.5rem}.contact-audit-sub{color:var(--foreground-200);max-width:44ch;line-height:1.6;margin-bottom:2rem}.contact-audit-list{list-style:none;display:flex;flex-direction:column;gap:.75rem}.contact-audit-list li{position:relative;padding-left:1.5rem;line-height:1.5}.contact-audit-list li:before{content:"";position:absolute;left:0;top:.55em;width:.4rem;height:.4rem;border-radius:50%;background-color:var(--accent-gold)}.contact-form{display:flex;flex-direction:column;gap:1.5rem}.contact-field-row{display:grid;grid-template-columns:1fr 1fr;grid-gap:1.5rem;gap:1.5rem}.contact-field{display:flex;flex-direction:column;gap:.5rem}.contact-field label{color:var(--foreground-200)}.req{color:var(--accent-gold)}.contact-field input,.contact-field textarea{width:100%;font-family:var(--font-body);font-size:1rem;color:var(--foreground);background-color:var(--background-200);border:1px solid var(--border);border-radius:.25rem;padding:.85rem 1rem;outline:none;resize:vertical;transition:border-color .25s ease}.contact-field input::placeholder,.contact-field textarea::placeholder{color:var(--foreground-200);opacity:.6}.contact-field input:focus,.contact-field textarea:focus{border-color:var(--accent-gold)}.contact-field input[aria-invalid=true]{border-color:var(--accent-burgundy)}.contact-err{color:var(--accent-burgundy);font-size:.8rem}.contact-services{border:none;display:flex;flex-direction:column;gap:.5rem}.contact-services legend{color:var(--foreground-200);margin-bottom:.25rem}.contact-services-hint{color:var(--foreground-200);font-size:.8rem;opacity:.8;margin-bottom:.5rem}.contact-services-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:.75rem;gap:.75rem}.contact-service{position:relative;display:flex;align-items:flex-start;gap:.75rem;padding:.85rem 1rem;border:1px solid var(--border);border-radius:.25rem;background-color:var(--background-200);cursor:pointer;transition:border-color .25s ease,background-color .25s ease}.contact-service.is-checked,.contact-service:hover{border-color:var(--accent-gold)}.contact-service input{position:absolute;opacity:0;width:1px;height:1px;margin:0}.contact-service-box{flex:none;width:1.1rem;height:1.1rem;margin-top:.15rem;border:1px solid var(--border);border-radius:.2rem;background-color:var(--background);position:relative;transition:background-color .2s ease,border-color .2s ease}.contact-service.is-checked .contact-service-box{background-color:var(--accent-gold);border-color:var(--accent-gold)}.contact-service.is-checked .contact-service-box:after{content:"";position:absolute;left:.33rem;top:.12rem;width:.28rem;height:.55rem;border:solid var(--background);border-width:0 2px 2px 0;transform:rotate(45deg)}.contact-service input:focus-visible+.contact-service-box{outline:2px solid var(--accent-gold);outline-offset:2px}.contact-service-text{display:flex;flex-direction:column;gap:.15rem}.contact-service-hint{color:var(--foreground-200);font-size:.78rem;line-height:1.3}.contact-submit-row{display:flex;flex-direction:column;gap:1rem;align-items:flex-start}.contact-submit{display:inline-flex;align-items:center;gap:.75rem;padding:.6rem .6rem .6rem 1.25rem;border:1px solid var(--foreground);border-radius:5rem;background-color:var(--foreground);color:var(--background);cursor:pointer;font-family:inherit;transition:opacity .25s ease,transform .25s ease}.contact-submit:hover:not(:disabled){transform:translateY(-2px)}.contact-submit:disabled{opacity:.6;cursor:not-allowed}.contact-submit-icon{width:1.9rem;height:1.9rem;border-radius:50%;background-color:var(--btn-icon);color:var(--background);display:flex;justify-content:center;align-items:center;font-size:.95rem}.contact-status{line-height:1.5;max-width:48ch}.contact-status-ok{color:var(--accent-gold)}.contact-status-err{color:var(--accent-burgundy)}.contact-map-section{display:grid;grid-template-columns:1fr 1.6fr;grid-gap:4rem;gap:4rem;align-items:center;padding:5rem 1.5rem;border-top:1px solid var(--border)}.contact-map-title{font-family:var(--font-display);font-size:clamp(1.75rem,2.8vw,2.75rem);line-height:1.1;font-weight:400;margin-bottom:.75rem}.contact-map-address{color:var(--foreground-200);line-height:1.6;margin-bottom:2rem}.contact-directions{display:inline-flex;align-items:center;gap:.6rem;color:var(--foreground);text-decoration:none;transition:color .3s ease}.contact-directions:hover{color:var(--accent-gold)}.contact-directions-icon{width:1.9rem;height:1.9rem;border-radius:50%;background-color:var(--btn-icon);color:var(--background);display:flex;justify-content:center;align-items:center;font-size:1rem}.contact-map-frame{width:100%;aspect-ratio:16/9;border:1px solid var(--border);border-radius:.25rem;overflow:hidden;background-color:var(--background-200)}.contact-map-frame iframe{width:100%;height:100%;border:0;display:block}.contact-footer{width:100%;padding:1.5rem;display:flex;gap:3rem;border-top:1px solid var(--border)}.fc-col-lg{flex:4 1}.fc-col-sm{flex:2 1}.footer-text{overflow:hidden}.footer-text-content{display:inline-block}@media (max-width:1000px){.contact-back{padding:5rem 1.5rem 0}.contact-hero{flex-direction:column;padding:2rem 1.5rem 3rem;gap:2rem}.contact-img-wrapper{flex:none;width:100%}.contact-img{width:60%;margin:0 auto}.contact-copy{padding:0;width:100%;gap:2rem}.contact-copy-addresses{left:0;gap:2rem}.contact-audit,.contact-map-section{grid-template-columns:1fr;gap:2.5rem;padding:3.5rem 1.5rem}.contact-footer{flex-direction:column;gap:.5rem;padding:1rem 1.5rem}}@media (max-width:600px){.contact-field-row,.contact-services-grid{grid-template-columns:1fr}}@media (max-width:480px){.contact-back{padding:5rem 1rem 0}.contact-hero{padding:1.5rem 1rem 2.5rem}.contact-img{width:75%}.contact-copy,.contact-copy-addresses{gap:1.5rem}.contact-audit,.contact-map-section{padding:3rem 1rem}.contact-map-frame{aspect-ratio:4/3}.contact-footer{padding:.75rem 1rem}}