.lop-contact-form{--lop-cf-border:var(--color-gray-300);--lop-cf-border-hover:var(--color-gray-400);--lop-cf-border-focus:var(--color-primary);--lop-cf-focus-ring:rgba(var(--color-primary-rgb), .18);--lop-cf-error:#b71c1c;--lop-cf-error-bg:#fdecea;--lop-cf-success:#1b5e20;--lop-cf-success-bg:#e6f4ea;--lop-cf-surface:var(--color-white);--lop-cf-divider:#00000014;gap:var(--space-6);padding:clamp(var(--space-5), 3vw, var(--space-8));background:var(--lop-cf-surface);border:1px solid var(--color-gray-200);border-radius:var(--radius-lg);flex-direction:column;display:flex;position:relative;overflow:hidden;box-shadow:inset 0 1px #ffffffbf,0 12px 32px -16px #00000040,0 2px 8px #0000000f}.lop-contact-form:before{content:"";background:linear-gradient(90deg, var(--color-primary) 0%, var(--color-primary) 30%, var(--color-accent) 30%, var(--color-accent) 70%, var(--color-primary) 70%, var(--color-primary) 100%);height:4px;position:absolute;inset:0 0 auto}.lop-contact-form.is-sent>:not(.lop-contact-form__status):not(noscript){display:none}.lop-contact-form.is-sent .lop-contact-form__status.is-success{text-align:center;padding:var(--space-8);font-size:var(--text-lg);display:block}.lop-contact-form__hp{width:1px;height:1px;position:absolute;top:auto;left:-10000px;overflow:hidden}.lop-contact-form__heading{font-family:var(--font-heading);color:var(--color-primary);margin:0;font-size:clamp(1.5rem,3vw,2rem);line-height:1.15}.lop-contact-form__intro{margin:calc(var(--space-3) * -1) 0 0;color:var(--color-gray-700);font-size:var(--text-base);line-height:var(--leading-relaxed)}.lop-contact-form__fieldset{gap:var(--space-5);border:none;flex-direction:column;margin:0;padding:0;display:flex}.lop-contact-form__fieldset+.lop-contact-form__fieldset{padding-top:var(--space-7);border-top:1px solid var(--lop-cf-divider)}.lop-contact-form__legend{font-family:var(--font-heading);font-size:var(--text-xl);letter-spacing:var(--tracking-normal);color:var(--color-primary);margin:0;padding:0;line-height:1.2}.lop-contact-form__legend-help{margin:var(--space-3) 0 0;color:var(--color-text-body);font-size:var(--text-sm);line-height:var(--leading-relaxed)}.lop-contact-form__fieldset[hidden]{display:none}.lop-contact-form__row{gap:var(--space-5);grid-template-columns:1fr;display:grid}@media (min-width:640px){.lop-contact-form__row{grid-template-columns:1fr 1fr}}.lop-field{gap:var(--space-2);flex-direction:column;min-width:0;display:flex}.lop-field label{font-family:var(--font-heading);font-size:var(--text-base);letter-spacing:-.005em;color:var(--color-text-heading);font-weight:600;line-height:1.3}.lop-field__required{color:var(--color-accent);margin-left:4px;font-weight:700}.lop-field__hint{color:var(--color-text-body);font-style:italic;font-weight:400;font-family:var(--font-body);font-size:var(--text-sm)}.lop-field__hint--block{margin:calc(var(--space-2) * -1) 0 var(--space-2);font-style:normal;line-height:var(--leading-relaxed);display:block}.lop-field__tooltip{border:1px solid var(--color-accent);background:var(--color-white);width:18px;height:18px;color:var(--color-accent);font-family:var(--font-body);cursor:help;transition:background-color var(--duration) var(--ease), color var(--duration) var(--ease), transform var(--duration) var(--ease);border-radius:50%;justify-content:center;align-items:center;margin-left:6px;padding:0;font-size:11px;font-weight:700;line-height:1;display:inline-flex;position:relative}.lop-field__tooltip:hover,.lop-field__tooltip:focus-visible,.lop-field__tooltip:active{background:var(--color-accent);color:var(--color-white);outline:none;transform:translateY(-1px)}.lop-field__tooltip:after{content:attr(data-lop-tooltip);transform-origin:bottom;width:max-content;max-width:280px;padding:var(--space-3) var(--space-4);background:var(--color-text-heading);color:var(--color-white);font-family:var(--font-body);font-size:var(--text-xs);font-style:normal;font-weight:400;line-height:var(--leading-relaxed);text-align:left;border-radius:var(--radius);opacity:0;visibility:hidden;pointer-events:none;transition:opacity var(--duration) var(--ease), transform var(--duration) var(--ease), visibility 0s linear var(--duration);z-index:30;position:absolute;bottom:calc(100% + 10px);left:50%;transform:translate(-50%)scale(.96);box-shadow:0 12px 28px -10px #00000059}.lop-field__tooltip:before{content:"";border:6px solid #0000;border-top-color:var(--color-text-heading);opacity:0;visibility:hidden;transition:opacity var(--duration) var(--ease), visibility 0s linear var(--duration);z-index:30;position:absolute;bottom:calc(100% + 4px);left:50%;transform:translate(-50%)}.lop-field__tooltip:hover:after,.lop-field__tooltip:focus-visible:after,.lop-field__tooltip:active:after,.lop-field__tooltip:hover:before,.lop-field__tooltip:focus-visible:before,.lop-field__tooltip:active:before{opacity:1;visibility:visible;transition:opacity var(--duration) var(--ease), transform var(--duration) var(--ease), visibility 0s linear 0s;transform:translate(-50%)scale(1)}@media (max-width:480px){.lop-field__tooltip:after{transform-origin:100% 0;max-width:220px;left:auto;right:-8px;transform:scale(.96)}.lop-field__tooltip:hover:after,.lop-field__tooltip:focus-visible:after,.lop-field__tooltip:active:after{transform:scale(1)}}.lop-contact-form input[type=text],.lop-contact-form input[type=email],.lop-contact-form input[type=tel],.lop-contact-form select,.lop-contact-form textarea{width:100%;min-height:52px;padding:var(--space-3) var(--space-4);font-family:var(--font-body);font-size:var(--text-base);color:var(--color-gray-900);background:var(--color-white);border:1.5px solid var(--lop-cf-border);border-radius:var(--radius);transition:border-color var(--duration) var(--ease), box-shadow var(--duration) var(--ease), background var(--duration) var(--ease);appearance:none;line-height:1.4;box-shadow:inset 0 1px #00000008,0 1px #ffffff80}.lop-contact-form input::placeholder,.lop-contact-form textarea::placeholder{color:var(--color-gray-400);opacity:1}.lop-contact-form input:hover,.lop-contact-form select:hover,.lop-contact-form textarea:hover{border-color:var(--lop-cf-border-hover)}.lop-contact-form input:focus,.lop-contact-form select:focus,.lop-contact-form textarea:focus{border-color:var(--lop-cf-border-focus);box-shadow:inset 0 1px 0 #00000008, 0 0 0 4px var(--lop-cf-focus-ring);outline:none}.lop-contact-form textarea{resize:vertical;min-height:140px;font-family:var(--font-body);line-height:var(--leading-normal)}.lop-contact-form select{padding-right:calc(var(--space-4) + 24px);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%232d4a22' d='M6 8L0 2l1.4-1.4L6 5.2 10.6.6 12 2z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right var(--space-4) center;background-size:14px 10px}.lop-field--upload input[type=file]{width:100%;padding:var(--space-3) var(--space-4);background:var(--color-gray-50);border:1.5px dashed var(--color-gray-300);border-radius:var(--radius);font-family:var(--font-body);font-size:var(--text-sm);color:var(--color-gray-700);cursor:pointer;transition:border-color var(--duration) var(--ease), background-color var(--duration) var(--ease)}.lop-field--upload input[type=file]:hover{border-color:var(--color-primary);background:var(--color-white)}.lop-field--upload input[type=file]::file-selector-button{margin-right:var(--space-3);padding:var(--space-2) var(--space-4);border-radius:var(--radius);background:var(--color-primary);color:var(--color-white);font-family:var(--font-mono);font-size:var(--text-sm);letter-spacing:var(--tracking-wide);text-transform:uppercase;cursor:pointer;transition:background-color var(--duration) var(--ease);border:none;font-weight:600}.lop-field--upload input[type=file]::file-selector-button:hover{background:var(--color-primary-dark)}.lop-contact-form__file-preview{margin-top:var(--space-3);gap:var(--space-3);flex-wrap:wrap;display:none}.lop-contact-form__file-preview.is-populated{display:flex}.lop-contact-form__file-item{align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);border:1px solid var(--color-gray-200);border-radius:var(--radius);background:var(--color-white);box-shadow:var(--shadow-xs);min-width:min(280px,100%);display:flex}.lop-contact-form__file-thumb{border-radius:var(--radius);background:var(--color-gray-100);flex-shrink:0;justify-content:center;align-items:center;width:56px;height:56px;display:flex;overflow:hidden}.lop-contact-form__file-thumb img{object-fit:cover;width:100%;height:100%;display:block}.lop-contact-form__file-thumb--placeholder{background:var(--color-primary);color:var(--color-white);font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:var(--tracking-wide);font-weight:700}.lop-contact-form__file-meta{flex-direction:column;flex:auto;min-width:0;display:flex}.lop-contact-form__file-name{font-size:var(--text-sm);color:var(--color-gray-900);white-space:nowrap;text-overflow:ellipsis;font-weight:600;overflow:hidden}.lop-contact-form__file-size{font-size:var(--text-xs);color:var(--color-text-body);font-family:var(--font-mono)}.lop-contact-form__file-remove{padding:var(--space-1) var(--space-3);border:1px solid var(--color-gray-300);border-radius:var(--radius);font-family:var(--font-mono);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:var(--tracking-wide);color:var(--color-gray-700);cursor:pointer;transition:background-color var(--duration) var(--ease), color var(--duration) var(--ease), border-color var(--duration) var(--ease);background:0 0;flex-shrink:0;font-weight:600}.lop-contact-form__file-remove:hover,.lop-contact-form__file-remove:focus-visible{background:var(--lop-cf-error);color:var(--color-white);border-color:var(--lop-cf-error)}.lop-field.has-error input,.lop-field.has-error select,.lop-field.has-error textarea{border-color:var(--lop-cf-error);box-shadow:inset 0 1px #00000008,0 0 0 4px #b71c1c26}.lop-field__error{font-size:var(--text-sm);color:var(--lop-cf-error);opacity:0;min-height:0;max-height:0;transition:max-height var(--duration) var(--ease), opacity var(--duration) var(--ease);margin:0;font-weight:600;overflow:hidden}.lop-field__error.is-visible{opacity:1;max-height:5em;padding-top:2px}.lop-contact-form__actions{gap:var(--space-3);margin-top:var(--space-3);flex-direction:column;display:flex}.lop-contact-form__submit{min-width:220px;min-height:56px;padding:var(--space-3) var(--space-8);font-size:var(--text-base);letter-spacing:.05em;align-self:flex-start;font-weight:700;position:relative}.lop-contact-form__submit[disabled]{cursor:wait;opacity:.85}.lop-contact-form__submit.is-loading .lop-contact-form__submit-label{visibility:hidden}.lop-contact-form__spinner{border:2.5px solid #ffffff59;border-top-color:var(--color-white);opacity:0;width:20px;height:20px;transition:opacity var(--duration) var(--ease);border-radius:50%;margin:-10px 0 0 -10px;position:absolute;top:50%;left:50%}.lop-contact-form__submit.is-loading .lop-contact-form__spinner{opacity:1;animation:.75s linear infinite lop-cf-spin}@keyframes lop-cf-spin{to{transform:rotate(360deg)}}.lop-contact-form__legal{color:var(--color-text-body);font-size:var(--text-sm);margin:0;font-style:italic}.lop-contact-form__status{padding:var(--space-5) var(--space-6);border-radius:var(--radius);font-size:var(--text-base);font-weight:500;line-height:var(--leading-normal);border-left:4px solid #0000;display:none}.lop-contact-form__status.is-visible{display:block}.lop-contact-form__status.is-success{background:var(--lop-cf-success-bg);color:var(--lop-cf-success);border-left-color:var(--lop-cf-success)}.lop-contact-form__status.is-error{background:var(--lop-cf-error-bg);color:var(--lop-cf-error);border-left-color:var(--lop-cf-error)}.lop-contact-form__noscript{padding:var(--space-4);background:var(--color-off-white);border-left:3px solid var(--color-accent);border-radius:var(--radius);font-size:var(--text-sm)}@media (max-width:640px){.lop-contact-form{padding:var(--space-5)}.lop-contact-form__submit{width:100%}.lop-contact-form__file-item{min-width:100%}}