.contact-hero{padding:var(--s20) 0 var(--s12)}.contact-hero__header{max-width:64ch}.contact-hero__title{font-size:clamp(2.5rem, 5vw, 4.5rem);margin-bottom:var(--s5)}.contact-hero__title-accent{color:var(--clr-primary-light)}.contact-hero__desc{font-size:1.125rem;color:var(--clr-subtle);max-width:52ch}.contact-main{padding-bottom:var(--s20)}.contact-main__grid{display:grid;grid-template-columns:4fr 8fr;gap:var(--s10);align-items:start}.contact-aside{display:flex;flex-direction:column;gap:var(--s8)}.contact-aside__card{background:var(--clr-s1);border-radius:var(--r-lg);padding:var(--s8);position:relative;overflow:hidden}.contact-aside__deco{position:absolute;top:-1rem;right:-1rem;font-size:7rem;color:var(--clr-text);opacity:.07;line-height:1}.contact-aside__title{margin-bottom:var(--s8);font-size:1.375rem}.contact-aside__list{display:flex;flex-direction:column;gap:var(--s8)}.contact-aside__item{display:flex;align-items:flex-start;gap:var(--s4)}.contact-aside__item-icon{color:var(--clr-primary-light);flex-shrink:0}.contact-aside__item strong{display:block;font-weight:700;margin-bottom:.2rem}.contact-aside__item a,.contact-aside__item address{font-size:.9375rem;color:var(--clr-subtle);font-style:normal}.contact-aside__item a:hover{color:var(--clr-primary)}.contact-aside__social{margin-top:var(--s8);padding-top:var(--s8);border-top:1px dashed rgba(225,191,181,.4)}.contact-aside__social-label{font-size:.6875rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--clr-subtle);margin-bottom:var(--s5)}.contact-aside__social-links{display:flex;gap:var(--s3)}.contact-aside__social-btn{width:3rem;height:3rem;border-radius:50%;background:var(--clr-s4);display:flex;align-items:center;justify-content:center;color:var(--clr-primary-light);transition:background .2s ease,color .2s ease}.contact-aside__social-btn:hover{background:var(--clr-primary-light);color:#fff}.contact-aside__social-btn svg{width:1.25rem;height:1.25rem;stroke:currentColor;fill:currentColor}.contact-aside__office{border-radius:var(--r-lg);overflow:hidden;height:200px;border:1px solid var(--clr-s4);filter:grayscale(1);transition:filter .5s ease}.contact-aside__office:hover{filter:grayscale(0)}.contact-aside__office-img{width:100%;height:100%;object-fit:cover}.contact-forms{display:flex;flex-direction:column;gap:var(--s8)}.contact-form-section{background:var(--clr-white);border-radius:var(--r-lg);padding:var(--s8) var(--s10);box-shadow:0 24px 48px rgba(30,28,6,.06)}.contact-form-section__title{margin-bottom:var(--s8);font-size:1.5rem}.contact-form{display:flex;flex-direction:column;gap:var(--s5)}.contact-form__honeypot{display:none}.contact-form__row{display:grid;grid-template-columns:1fr 1fr;gap:var(--s5)}.contact-form__group{display:flex;flex-direction:column;gap:var(--s2)}.contact-form__label{font-size:.75rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--clr-subtle)}.contact-form__input,.contact-form__textarea{background:var(--clr-s4);border:2px solid transparent;border-radius:var(--r-sm);padding:.875rem 1rem;font-family:var(--ff-body);font-size:.9375rem;color:var(--clr-text);outline:0;transition:border-color .2s ease,background .2s ease}.contact-form__input:focus,.contact-form__textarea:focus{background:var(--clr-white);border-color:var(--clr-primary-light);border-style:dashed}.contact-form__textarea{resize:vertical;min-height:8rem}.contact-form__submit{align-self:flex-start}.form-success{background:#d1fae5;color:#065f46;padding:var(--s4) var(--s6);border-radius:var(--r-md);font-size:.9375rem;margin-bottom:var(--s5)}.form-error{background:#fee2e2;color:#991b1b;padding:var(--s4) var(--s6);border-radius:var(--r-md);font-size:.9375rem;margin-bottom:var(--s5)}.contact-calendar{background:var(--clr-s2);border-radius:var(--r-lg);padding:var(--s8) var(--s10)}.contact-calendar__header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--s8);gap:var(--s4)}.contact-calendar__title{font-size:1.5rem;margin-bottom:var(--s2)}.contact-calendar__subtitle{color:var(--clr-subtle);font-size:.9375rem}.contact-calendar__icon{font-size:2.5rem;color:var(--clr-primary-light);flex-shrink:0}.contact-calendar__body{display:grid;grid-template-columns:1fr 1fr;gap:var(--s8)}.contact-calendar__widget{background:var(--clr-white);border-radius:var(--r-md);padding:var(--s6);height:max-content}.contact-calendar__nav{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--s5)}.contact-calendar__month{font-weight:700}.contact-calendar__nav-btns{display:flex;gap:var(--s2)}.contact-calendar__nav-btn{background:0 0;border:none;cursor:pointer;padding:var(--s1,.25rem);border-radius:var(--r-sm);transition:background .2s ease}.contact-calendar__nav-btn:hover{background:var(--clr-s2)}.contact-calendar__days-header{display:grid;grid-template-columns:repeat(5,1fr);gap:var(--s2);text-align:center;font-size:.6875rem;font-weight:700;color:var(--clr-subtle);margin-bottom:var(--s3)}.contact-calendar__grid{display:grid;grid-template-columns:repeat(5,1fr);gap:var(--s2);text-align:center}.contact-calendar__day{padding:var(--s2);border-radius:50%;font-size:.875rem;background:0 0;border:none;cursor:pointer;transition:background .2s ease}.contact-calendar__day:not(.contact-calendar__day--prev):not(.contact-calendar__day--active):hover{background:var(--clr-s2)}.contact-calendar__day--prev{color:var(--clr-border);pointer-events:none}.contact-calendar__day--empty{visibility:hidden;pointer-events:none}.contact-calendar__day--active{background:var(--clr-primary-light);color:#fff;font-weight:700}.contact-calendar__day--disabled{color:var(--clr-border);opacity:.5;pointer-events:none;cursor:not-allowed}.contact-timeslots{display:flex;flex-direction:column;gap:var(--s4)}.contact-timeslots__label{font-size:.6875rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--clr-subtle)}.contact-timeslots__grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--s3)}.contact-timeslot{padding:.75rem 1rem;border:1px dashed rgba(246,99,53,.4);border-radius:var(--r-sm);background:0 0;font-family:var(--ff-body);font-size:.9375rem;font-weight:700;cursor:pointer;transition:background .2s ease,color .2s ease}.contact-timeslot:hover{background:var(--clr-primary-light);color:#fff;border-color:var(--clr-primary-light)}.contact-timeslot--active{background:var(--clr-primary-light);color:#fff;border-color:var(--clr-primary-light);border-style:solid}.contact-booking-form{margin-top:var(--s6);padding-top:var(--s6);border-top:2px dashed rgba(246,99,53,.2)}.contact-booking-form__title{font-size:1rem;margin-bottom:var(--s2);color:var(--clr-text);font-weight:700}.contact-booking-form__subtitle{font-size:.875rem;color:var(--clr-primary-light);font-weight:700;margin-bottom:var(--s6)}.contact-booking-form__form{display:flex;flex-direction:column;gap:var(--s5)}.contact-booking-form__group{display:flex;flex-direction:column;gap:var(--s2)}.contact-booking-form__label{font-size:.75rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--clr-subtle)}.contact-booking-form__input{background:var(--clr-s4);border:2px solid transparent;border-radius:var(--r-sm);padding:.875rem 1rem;font-family:var(--ff-body);font-size:.9375rem;color:var(--clr-text);outline:0;transition:border-color .2s ease,background .2s ease}.contact-booking-form__input:focus{background:var(--clr-white);border-color:var(--clr-primary-light);border-style:dashed}.contact-booking-form__submit{align-self:flex-start;margin-top:var(--s2)}.contact-timeslots__confirm{width:100%;justify-content:center;margin-top:var(--s2)}@media (max-width:1023px){.contact-main__grid{grid-template-columns:1fr}.contact-calendar__body{grid-template-columns:1fr}}@media (max-width:767px){.contact-form__row{grid-template-columns:1fr}}