.contact-form-section{background:var(--color-background);display:flex;justify-content:center;align-items:center;min-height:clamp(420px,60vw,810px);padding:clamp(1.5rem,6vw,4rem) 0;position:relative;overflow:hidden}.contact-form-outer{background:var(--color-background-paper);box-shadow:0 10px 40px 0 rgba(17,17,17,0.08),0 2px 8px 0 rgba(235,15,115,0.11);border-radius:clamp(1.3rem,4vw,2.5rem);margin:0 auto;max-width:100%;width:clamp(330px,80vw,520px);position:relative;z-index:1;display:flex;justify-content:center;align-items:stretch;flex-direction:column;gap:clamp(1.7rem,4vw,2.8rem)}.contact-form-hexagon-bg{position:absolute;top:clamp(-32px,-8vw,-72px);right:clamp(-16px,-5vw,-40px);z-index:0;pointer-events:none;opacity:0.24;transition:opacity 0.7s cubic-bezier(.6,.03,.15,.97)}.contact-form-svg-hexagon{display:block;width:clamp(90px,18vw,140px);height:auto}.contact-form-hexagon-shape{fill:none;stroke:var(--color-secondary);stroke-width:3.5;opacity:0.8;vector-effect:non-scaling-stroke;filter:drop-shadow(0 5px 20px rgba(235,15,115,0.20));transition:stroke 0.4s cubic-bezier(.72,.06,.34,1)}.contact-form-inner{position:relative;z-index:2;padding:clamp(1.1rem,4vw,2rem) clamp(1rem,5vw,2.5rem) clamp(2rem,7vw,3.2rem) clamp(1rem,5vw,2.5rem);display:flex;flex-direction:column;gap:clamp(1rem,1.8vw,1.6rem)}.contact-form-form{display:flex;flex-direction:column;gap:clamp(1rem,2vw,2rem)}.contact-form-honeypot{position:absolute;left:-9999px;top:auto;width:0;height:0;opacity:0;pointer-events:none}.contact-form-fields{border:none;padding:0;margin:0;display:flex;flex-direction:column;gap:clamp(0.9rem,2vw,1.6rem)}.contact-form-legend{color:var(--color-text-primary);font-family:var(--font-family-heading);font-size:clamp(1.1rem,1.8vw,1.7rem);font-weight:bold;line-height:var(--line-height-heading)}.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(1px 1px 1px 1px);white-space:nowrap;border:0}.contact-form-group{display:flex;flex-direction:column;gap:clamp(0.15rem,0.5vw,0.4rem);min-width:0}.contact-form-row{display:flex;gap:clamp(0.9rem,2vw,1.7rem);flex-wrap:wrap}.contact-form-col{flex:1 1 0;min-width:0}.contact-form-label{color:var(--color-text-primary);font-family:var(--font-family-body);font-size:clamp(1rem,1.25vw,1.13rem);font-weight:bold;letter-spacing:0.01em;line-height:1.1;margin-bottom:clamp(0.05rem,0.2vw,0.17rem);position:relative;display:flex;align-items:center;gap:0.25em}.contact-form-label span{color:var(--color-secondary);font-weight:bold;font-size:1.13em;line-height:1;vertical-align:middle}.contact-form-input,.contact-form-textarea{font-family:var(--font-family-body);font-size:clamp(1rem,1.18vw,1.17rem);padding:clamp(0.7rem,1.8vw,1.3rem) clamp(1rem,2vw,1.7rem);border-radius:clamp(0.92rem,1.4vw,1.3rem);border:1.5px solid var(--color-accent-light);background:var(--color-background-default);color:var(--color-text-primary);box-shadow:0 3px 12px 0 rgba(76,76,76,0.07);transition:border-color 0.24s cubic-bezier(.6,.03,.32,1),box-shadow 0.26s cubic-bezier(.23,.85,.32,1);outline:none;width:100%;resize:none}.contact-form-input:focus,.contact-form-textarea:focus{border-color:var(--color-secondary);box-shadow:0 0 0 2px rgba(235,15,115,0.09)}.contact-form-input:disabled,.contact-form-textarea:disabled{background:var(--color-paper);color:var(--color-text-disabled);opacity:0.5;cursor:not-allowed}.contact-form-input:invalid,.contact-form-textarea:invalid{border-color:var(--color-error)}.contact-form-feedback{min-height:clamp(1.1rem,1.8vw,1.5rem);color:var(--color-error);font-size:clamp(0.95rem,1vw,1.07rem);font-family:var(--font-family-body);line-height:1.25;letter-spacing:0.01em;margin-bottom:clamp(0,0.3vw,0.25rem);transition:color 0.18s}.contact-form-actions{display:flex;justify-content:flex-end;align-items:center;gap:clamp(0.7rem,2vw,1.5rem);margin-top:clamp(0.5rem,1vw,1.5rem)}.contact-form-submit{--_submit-bg:var(--color-primary);--_submit-bg-hover:var(--color-secondary);--_submit-shadow:0 5px 20px 0 rgba(235,15,115,0.09),0 2px 7px 0 rgba(17,17,17,0.14);font-family:var(--font-family-heading);font-size:clamp(1.04rem,1.4vw,1.2rem);padding:clamp(0.8rem,2vw,1.1rem) clamp(2.1rem,4.2vw,2.7rem);border-radius:clamp(1.25rem,3vw,2rem);color:var(--color-primary-contrast);background:var(--_submit-bg);border:none;cursor:pointer;box-shadow:var(--_submit-shadow);font-weight:bold;letter-spacing:0.04em;position:relative;z-index:1;transition:background 0.18s cubic-bezier(.65,.06,.32,1),color 0.18s,box-shadow 0.22s cubic-bezier(.71,.02,.18,1);overflow:hidden;outline:none}.contact-form-submit:active{background:var(--color-primary-dark);box-shadow:0 1px 2px 0 rgba(235,15,115,0.15),0 1px 2px 0 rgba(17,17,17,0.14)}.contact-form-submit:focus-visible{outline:2.5px solid var(--color-secondary);outline-offset:2px}.contact-form-submit:hover,.contact-form-submit:focus{background:var(--_submit-bg-hover);color:var(--color-secondary-contrast);box-shadow:0 6px 26px 0 rgba(235,15,115,0.17),0 2px 8px 0 rgba(17,17,17,0.14)}.contact-form-description[hidden]{display:none}@media (max-width:1024px){.contact-form-outer{max-width:680px}}@media (max-width:768px){.contact-form-outer{max-width:93vw}.contact-form-row{flex-direction:column;gap:clamp(0.4rem,3vw,1.2rem)}}@media (max-width:480px){.contact-form-inner{padding:clamp(0.6rem,5vw,1.5rem) clamp(0.3rem,4vw,1.1rem)}.contact-form-outer{box-shadow:0 3px 15px 0 rgba(17,17,17,0.08)}.contact-form-submit{width:100%;justify-content:center;text-align:center}}