.contact-hero.home-hero{background:#030d14}.contact-hero .home-hero__bg{display:none}.contact-section{scroll-margin-top:clamp(5rem,10vh,6.5rem);position:relative;overflow:hidden;background:#030d14;padding:0 0 clamp(5rem,12vw,7rem)}.contact-section__ambient{position:absolute;inset:0;pointer-events:none}.contact-section__pulse{position:absolute;inset:0;background-image:radial-gradient(circle at 20% 30%,rgba(53,140,159,.12) 0,transparent 50%),radial-gradient(circle at 80% 70%,rgba(78,179,200,.1) 0,transparent 50%),radial-gradient(circle at 50% 50%,rgba(42,111,125,.06) 0,transparent 50%);animation:contactPulseBg 30s ease-in-out infinite}.contact-section__line{position:absolute;bottom:-250px;border-radius:2px;animation:contactRiseLine linear infinite}.contact-section__inner{position:relative;z-index:1;max-width:960px;margin:0 auto;width:100%;min-width:0}.contact-filters.portfolio-filters{padding-bottom:clamp(1rem,3vw,1.5rem)}.contact-filters .portfolio-filters__title{margin-bottom:0}.contact-section__body{padding:clamp(1.5rem,5vw,2.5rem) clamp(1.25rem,4vw,3rem) 0}.contact-methods{display:grid;grid-template-columns:1fr;gap:clamp(.85rem,3vw,1.25rem);margin-bottom:clamp(2rem,5vw,3rem)}@media (min-width:560px){.contact-methods{grid-template-columns:repeat(2,1fr)}}@media (min-width:960px){.contact-methods{grid-template-columns:repeat(4,1fr)}}.contact-method-card{position:relative;display:flex;flex-direction:column;align-items:center;text-align:center;padding:clamp(1.25rem,4vw,1.75rem) clamp(1rem,3vw,1.25rem);border-radius:12px;text-decoration:none;color:#fff;overflow:hidden;background:rgba(255,255,255,.05);border:2px solid rgba(255,255,255,.28);box-shadow:0 4px 20px rgba(0,0,0,.28),inset 0 1px 0 rgba(255,255,255,.1);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);transition:border-color .22s ease,transform .22s ease,box-shadow .22s ease}.contact-method-card:before{content:"";position:absolute;inset:0;border-radius:inherit;background:linear-gradient(135deg,rgba(53,140,159,.16),rgba(78,179,200,.08));opacity:0;transition:opacity .22s ease;pointer-events:none}.contact-method-card:focus-visible,.contact-method-card:hover{border-color:#00d9ff;transform:translateY(-6px);box-shadow:0 14px 36px rgba(0,0,0,.32),0 0 40px rgba(0,213,255,.18);outline:none}.contact-method-card:focus-visible:before,.contact-method-card:hover:before{opacity:1}.contact-method-card__icon{position:relative;z-index:1;width:clamp(3.25rem,14vw,4rem);height:clamp(3.25rem,14vw,4rem);margin-bottom:1rem;border-radius:12px;display:flex;align-items:center;justify-content:center;background:rgba(53,140,159,.18);border:1px solid rgba(78,179,200,.32);color:#4eb3c8;transition:background .22s ease,color .22s ease,transform .22s ease}.contact-method-card:focus-visible .contact-method-card__icon,.contact-method-card:hover .contact-method-card__icon{background:linear-gradient(135deg,#358c9f,#4eb3c8);color:#fff;transform:rotate(-4deg) scale(1.05)}.contact-method-card__title{position:relative;z-index:1;margin:0 0 .35rem;font-family:var(--font-body);font-size:clamp(1rem,3vw,1.15rem);font-weight:800;letter-spacing:-.02em;color:#fff}.contact-method-card__subtitle{position:relative;z-index:1;margin:0 0 .85rem;font-family:var(--font-body);font-size:clamp(.82rem,2.8vw,.9rem);line-height:1.45;color:rgba(255,255,255,.65);word-break:break-word}.contact-method-card__cta{position:relative;z-index:1;display:inline-flex;align-items:center;gap:.4rem;font-family:var(--font-body);font-size:.78rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:#4eb3c8;transition:color .22s ease,gap .22s ease}.contact-method-card:focus-visible .contact-method-card__cta,.contact-method-card:hover .contact-method-card__cta{color:#00d9ff;gap:.55rem}.contact-form-block{position:relative;padding:clamp(2rem,5vw,3rem) clamp(1.25rem,4vw,2.5rem);border-radius:12px;text-align:center;overflow:hidden;background:rgba(255,255,255,.05);border:2px solid rgba(255,255,255,.28);box-shadow:0 4px 24px rgba(0,0,0,.3),inset 0 1px 0 rgba(255,255,255,.1);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.contact-form-block:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(53,140,159,.12),rgba(78,179,200,.06) 50%,transparent);pointer-events:none}.contact-form-block__inner{position:relative;z-index:1;max-width:36rem;margin:0 auto}.contact-form-block__title{margin:0 0 .75rem;font-family:var(--font-body);font-size:clamp(1.35rem,4vw,1.85rem);font-weight:800;letter-spacing:-.02em;color:#fff}.contact-form-block__text{margin:0 auto 1.75rem;max-width:32rem;font-family:var(--font-body);font-size:clamp(.95rem,2.6vw,1.08rem);line-height:1.65;color:rgba(255,255,255,.72)}.contact-form-block__actions{display:flex;flex-wrap:wrap;justify-content:center;gap:.85rem}.contact-form-block__btn-primary{display:inline-flex;align-items:center;justify-content:center;gap:.65rem;min-height:3.35rem;padding:1rem 2rem;font-family:var(--font-body);font-size:1.05rem;font-weight:600;line-height:1.2;color:#fff;background:rgba(255,255,255,.07);border:2px solid rgba(255,255,255,.5);border-radius:12px;cursor:pointer;box-shadow:0 4px 20px rgba(0,0,0,.28),inset 0 1px 0 rgba(255,255,255,.14);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);transition:transform .22s ease,box-shadow .22s ease,background .22s ease,border-color .22s ease,color .22s ease}.contact-form-block__btn-primary:hover{color:#061018;background:#00d9ff;border-color:#00d9ff;transform:translateY(-3px);box-shadow:0 12px 36px rgba(0,0,0,.3),0 0 48px rgba(0,213,255,.45)}.contact-form-block__btn-secondary{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:3.35rem;padding:1rem 1.75rem;font-family:var(--font-body);font-size:1rem;font-weight:600;color:#4eb3c8;text-decoration:none;background:rgba(53,140,159,.12);border:2px solid rgba(78,179,200,.38);border-radius:12px;transition:transform .22s ease,border-color .22s ease,background .22s ease,color .22s ease}.contact-form-block__btn-secondary:hover{color:#fff;background:rgba(53,140,159,.28);border-color:#4eb3c8;transform:translateY(-2px)}@keyframes contactPulseBg{0%,to{opacity:1}50%{opacity:.65}}@keyframes contactRiseLine{0%{transform:translateY(0);opacity:0}10%{opacity:1}90%{opacity:1}to{transform:translateY(calc(-100vh - 250px));opacity:0}}@media (prefers-reduced-motion:reduce){.contact-section__line,.contact-section__pulse{animation:none!important}.contact-method-card:focus-visible,.contact-method-card:hover{transform:none}}