.contact-form{background:var(--color-dark-variant);border-radius:var(--border-radius-lg,16px);box-shadow:var(--shadow-lg,0 10px 25px #00000026);margin:var(--space-3xl,64px)auto;max-width:1200px;overflow:hidden}.contact-form__container{grid-template-columns:1fr;min-height:auto;display:grid}@media (width>=1024px){.contact-form__container{grid-template-columns:2fr 1fr}}.contact-form__form-section{padding:var(--space-xl,32px)var(--space-lg,24px);background:var(--color-dark-variant)}.contact-form__header{margin-bottom:var(--space-lg,24px)}.contact-form__title{font-family:var(--font-title);font-size:var(--font-size-3xl,1.875rem);color:var(--color-light);margin-bottom:var(--space-sm,8px);font-weight:600}.contact-form__subtitle{font-family:var(--font-text);font-size:var(--font-size-lg,1.125rem);color:var(--color-light-muted);line-height:1.6}.contact-form__form{gap:var(--space-md,16px);grid-template-columns:1fr;display:grid}.contact-form__row{gap:var(--space-sm,8px);grid-template-columns:1fr;display:grid}@media (width>=768px){.contact-form__row--two-cols{grid-template-columns:1fr 1fr}}.contact-form__group{gap:var(--space-xs,4px);flex-direction:column;display:flex}.contact-form__label{font-family:var(--font-text);font-size:var(--font-size-sm,.875rem);color:var(--color-light);margin-bottom:var(--space-xs,4px);font-weight:600}.contact-form__label--required:after{content:" *";color:var(--color-error,#da3633)}.contact-form__input,.contact-form__select,.contact-form__textarea{width:100%;padding:var(--space-sm,8px)var(--space-md,16px);border:1px solid var(--color-border,#4a5759);border-radius:var(--border-radius-sm,8px);background:var(--color-dark,#0e1516);color:var(--color-light);font-family:var(--font-text);font-size:var(--font-size-sm,.875rem);transition:all .3s}.contact-form__input::placeholder,.contact-form__textarea::placeholder{color:var(--color-text-muted,#8b9c9f)}.contact-form__input:focus,.contact-form__select:focus,.contact-form__textarea:focus{outline:1px solid var(--color-primary,#65b6be);outline-offset:0;border-color:var(--color-primary,#65b6be);box-shadow:none}.contact-form__textarea{resize:vertical;min-height:80px}.contact-form__select{cursor:pointer;appearance:none;padding-right:var(--space-2xl,48px);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3e%3c/svg%3e");background-position:right 12px center;background-repeat:no-repeat;background-size:16px}.contact-form__group--error .contact-form__input,.contact-form__group--error .contact-form__select,.contact-form__group--error .contact-form__textarea{border-color:var(--color-error,#da3633)}.contact-form__group--success .contact-form__input,.contact-form__group--success .contact-form__select,.contact-form__group--success .contact-form__textarea{border-color:var(--color-success,#2ea043)}.contact-form__group--warning .contact-form__input,.contact-form__group--warning .contact-form__select,.contact-form__group--warning .contact-form__textarea{border-color:var(--color-warning,#ff8c00)}.contact-form__group--prepopulated .contact-form__input,.contact-form__group--prepopulated .contact-form__select{background-color:rgba(var(--color-primary-rgb,101,182,190),.05);border-color:var(--color-primary-variant,#689195)}.contact-form__error{font-size:var(--font-size-sm,.875rem);color:var(--color-error,#da3633);margin-top:var(--space-xs,4px);align-items:center;gap:var(--space-xs,4px);display:flex}.contact-form__error:before{content:"⚠";font-size:var(--font-size-sm,.875rem)}.contact-form__success{font-size:var(--font-size-sm,.875rem);color:var(--color-success,#2ea043);margin-top:var(--space-xs,4px);align-items:center;gap:var(--space-xs,4px);display:flex}.contact-form__success:before{content:"✓";font-size:var(--font-size-sm,.875rem)}.contact-form__prepopulated-notice{font-size:var(--font-size-xs,.75rem);color:var(--color-primary,#65b6be);margin-top:var(--space-xs,4px);align-items:center;gap:var(--space-xs,4px);display:flex}.contact-form__prepopulated-notice:before{content:"ℹ";font-size:var(--font-size-sm,.875rem)}.contact-form__submit{background:var(--color-primary,#65b6be);color:var(--color-light);border-radius:var(--border-radius-sm,8px);padding:var(--space-md,16px)var(--space-lg,24px);font-family:var(--font-text);font-size:var(--font-size-base,1rem);cursor:pointer;border:none;justify-self:start;min-width:160px;font-weight:600;transition:all .3s;position:relative;overflow:hidden}.contact-form__submit:before{content:"";background:linear-gradient(90deg,#0000,#fff3,#0000);width:100%;height:100%;transition:left .6s;position:absolute;top:0;left:-100%}.contact-form__submit:hover{background:var(--color-primary-hover,#5aa5ad);box-shadow:0 8px 25px rgba(var(--color-primary-rgb,101,182,190),.4),0 0 20px rgba(var(--color-primary-rgb,101,182,190),.3);transform:translateY(-2px)}.contact-form__submit:hover:before{left:100%}.contact-form__submit:active{transform:translateY(0)}.contact-form__submit:disabled{background:var(--color-text-muted,#8b9c9f);cursor:not-allowed;transform:none}.contact-form__submit--loading{color:#0000;position:relative}.contact-form__submit--loading:after{content:"";border:2px solid #0000;border-top:2px solid var(--color-light);border-radius:50%;width:20px;height:20px;margin:-10px 0 0 -10px;animation:1s linear infinite spin;position:absolute;top:50%;left:50%}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.contact-form__info-section{background:var(--color-dark,#0e1516);padding:var(--space-xl,32px)var(--space-lg,24px);gap:var(--space-lg,24px);flex-direction:column;display:flex}.contact-form__info-header{border-bottom:2px solid var(--color-primary,#65b6be);padding-bottom:var(--space-md,16px)}.contact-form__info-title{font-family:var(--font-title);font-size:var(--font-size-2xl,1.5rem);color:var(--color-light);margin-bottom:var(--space-xs,4px);font-weight:600}.contact-form__info-subtitle{font-family:var(--font-text);font-size:var(--font-size-base,1rem);color:var(--color-light-muted)}.contact-form__company-name{font-family:var(--font-title);font-size:var(--font-size-xl,1.25rem);color:var(--color-primary,#65b6be);margin-bottom:var(--space-xs,4px);font-weight:600}.contact-form__company-owner{font-family:var(--font-text);font-size:var(--font-size-base,1rem);color:var(--color-light);font-weight:500}.contact-form__details{gap:var(--space-md,16px);flex-direction:column;display:flex}.contact-form__detail-group{gap:var(--space-xs,4px);flex-direction:column;display:flex}.contact-form__detail-label{font-family:var(--font-text);font-size:var(--font-size-sm,.875rem);color:var(--color-primary,#65b6be);text-transform:uppercase;letter-spacing:.5px;font-weight:600}.contact-form__detail-value{font-family:var(--font-text);font-size:var(--font-size-base,1rem);color:var(--color-light);line-height:1.5}.contact-form__detail-link{color:var(--color-light);text-decoration:none;transition:color .3s}.contact-form__detail-link:hover{color:var(--color-primary,#65b6be)}.contact-form__hours{background:rgba(var(--color-primary-rgb,101,182,190),.1);border:1px solid var(--color-primary-variant,#689195);border-radius:var(--border-radius-sm,8px);padding:var(--space-md,16px)}.contact-form__hours-title{font-family:var(--font-text);font-size:var(--font-size-sm,.875rem);color:var(--color-primary,#65b6be);text-transform:uppercase;letter-spacing:.5px;margin-bottom:var(--space-sm,8px);font-weight:600}.contact-form__hours-list{gap:var(--space-xs,4px);flex-direction:column;display:flex}.contact-form__hours-item{font-family:var(--font-text);font-size:var(--font-size-sm,.875rem);color:var(--color-light);justify-content:space-between;display:flex}.contact-form__hours-days{font-weight:500}.contact-form__hours-time{color:var(--color-light-muted)}.contact-form__booking-title{font-family:var(--font-text);font-size:var(--font-size-sm,.875rem);color:var(--color-primary,#65b6be);text-transform:uppercase;letter-spacing:.5px;margin-bottom:var(--space-sm,8px);font-weight:600}.contact-form__booking-link{color:var(--color-primary);font-family:var(--font-text);cursor:pointer;background:0 0;border:none;align-items:center;gap:.5rem;padding:.25rem 0;font-size:.95rem;font-weight:700;text-decoration:none;transition:all .3s;display:inline-flex;position:relative}.contact-form__booking-link:after{content:"↗";opacity:.8;margin-left:.25rem;font-size:.85rem;transition:transform .3s;display:inline-block}.contact-form__booking-link:hover{color:var(--color-primary);text-shadow:0 4px 8px rgba(var(--color-primary-rgb,101,182,190),.5),0 0 15px rgba(var(--color-primary-rgb,101,182,190),.4);transform:translateY(-2px)}.contact-form__booking-link:hover:after{opacity:1;transform:translate(2px,-2px)}.contact-form__booking-link:focus{outline:2px solid var(--color-primary);outline-offset:4px;border-radius:4px}.contact-form__message{padding:var(--space-lg,24px);border-radius:var(--border-radius-sm,8px);margin-bottom:var(--space-lg,24px);font-family:var(--font-text);font-size:var(--font-size-base,1rem);border:2px solid;font-weight:500}.contact-form__message--success{background-color:rgba(var(--color-success,46,160,67),.1);border-color:var(--color-success,#2ea043);color:var(--color-success,#2ea043)}.contact-form__message--error{background-color:rgba(var(--color-error,218,54,51),.1);border-color:var(--color-error,#da3633);color:var(--color-error,#da3633)}.contact-form__row--submit{align-items:flex-start;gap:var(--spacing-lg,1.5rem);display:flex}.contact-form__recaptcha{flex:1;margin-top:0}.contact-form__recaptcha-notice{font-size:var(--font-size-xs,.75rem);color:var(--color-text-muted,#8b9c9f);text-align:left;line-height:1.4}.contact-form__recaptcha-notice a{color:var(--color-primary,#65b6be);text-decoration:none}.contact-form__recaptcha-notice a:hover{text-decoration:underline}@media (width<=767px){.contact-form{border-radius:var(--border-radius-md,12px);margin:0}.contact-form__form-section,.contact-form__info-section{padding:var(--space-lg,24px)var(--space-md,16px)}.contact-form__title{font-size:var(--font-size-2xl,1.5rem)}.contact-form__submit{justify-self:stretch;width:100%}.contact-form__row--submit{align-items:stretch;gap:var(--spacing-base,1rem);flex-direction:column}.contact-form__recaptcha-notice{text-align:center}.contact-form__company{text-align:left}.contact-form__details{gap:var(--space-sm,8px)}}@media (width>=768px) and (width<=1023px){.contact-form__container{grid-template-columns:1fr}.contact-form__info-section{background:var(--color-dark-variant);border-top:2px solid var(--color-border,#4a5759)}}@media (width>=1440px){.contact-form__container{grid-template-columns:5fr 3fr}.contact-form__form-section{padding:var(--space-3xl,64px)var(--space-2xl,48px)}.contact-form__info-section{padding:var(--space-3xl,64px)var(--space-xl,32px)}}@media (prefers-reduced-motion:reduce){.contact-form__input,.contact-form__select,.contact-form__textarea,.contact-form__submit{transition:none}.contact-form__submit--loading:after{animation:none}}@media (prefers-contrast:high){.contact-form__input,.contact-form__select,.contact-form__textarea{border-width:3px}.contact-form__submit{border:2px solid var(--color-light)}}.contact-form__input:focus-visible,.contact-form__select:focus-visible,.contact-form__textarea:focus-visible{outline:1px solid var(--color-primary,#65b6be);outline-offset:0}.contact-form__submit:focus-visible{outline:1px solid var(--color-primary,#65b6be);outline-offset:2px}