.contact-page{position:relative;width:100%;min-height:100svh;background-color:#ffffff;color:#0b0b0b;padding-top:6rem;overflow:clip}.contact-page .contact-shapes{position:absolute;inset:0;z-index:0;pointer-events:none;overflow:hidden}.contact-page .contact-shape{position:absolute;background-size:contain;background-position:50%;background-repeat:no-repeat;pointer-events:none;opacity:.9;will-change:left,top,background-image}.contact-page .contact-hero,.contact-page .contact-main,.contact-page footer{position:relative;z-index:1}.contact-page .contact-hero{padding:3.5rem 0 2.75rem;border-bottom:1.5px solid rgba(11,11,11,.14)}.contact-page .contact-eyebrow{margin-bottom:.85rem;font-family:Geist Mono,PP Neue Montreal,monospace;font-size:.75rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:rgba(11,11,11,.45)}.contact-page .contact-hero h1{text-transform:none;font-family:PP Neue Montreal,-apple-system,BlinkMacSystemFont,Segoe UI,Inter,system-ui,Arial,sans-serif;font-weight:400;font-size:clamp(2.5rem,5vw,4.25rem);letter-spacing:-.03em;line-height:1.05;color:#0b0b0b;max-width:14ch}.contact-page .contact-hero p.lg{margin-top:1.35rem;max-width:48ch;font-family:PP Neue Montreal,sans-serif;font-size:1.125rem;line-height:1.65;color:rgba(11,11,11,.68)}.contact-page .contact-main{padding:3.5rem 0 5rem}.contact-page .contact-layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(16rem,.75fr);gap:3.5rem 4rem;align-items:start}.contact-page .contact-form-panel{position:relative;padding:1.75rem;border-radius:1.35rem;background:rgba(255,255,255,.92);border:1px solid rgba(11,11,11,.06);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.contact-page .contact-form-panel h2{text-transform:none;font-family:PP Neue Montreal,sans-serif;font-size:clamp(1.5rem,2.2vw,2rem);font-weight:500;letter-spacing:-.03em;line-height:1.15;color:#0b0b0b}.contact-page .contact-form-intro{margin-top:.75rem;max-width:42ch;font-family:PP Neue Montreal,sans-serif;font-size:1rem;line-height:1.6;color:rgba(11,11,11,.6)}.contact-page .contact-form{margin-top:2rem;display:flex;flex-direction:column;gap:1.1rem}.contact-page .contact-form-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.1rem}.contact-page .contact-field{display:flex;flex-direction:column;gap:.45rem}.contact-page .contact-field span{font-family:PP Neue Montreal,sans-serif;font-size:.8rem;font-weight:500;letter-spacing:.02em;color:rgba(11,11,11,.55)}.contact-page .contact-field input,.contact-page .contact-field textarea{width:100%;padding:.95rem 1rem;border:1px solid rgba(11,11,11,.12);border-radius:.9rem;background:#f7f7f7;color:#0b0b0b;font-family:PP Neue Montreal,sans-serif;font-size:.975rem;line-height:1.4;outline:none;transition:border-color .18s ease,background-color .18s ease,box-shadow .18s ease;resize:vertical}.contact-page .contact-field input::-moz-placeholder,.contact-page .contact-field textarea::-moz-placeholder{color:rgba(11,11,11,.35)}.contact-page .contact-field input::placeholder,.contact-page .contact-field textarea::placeholder{color:rgba(11,11,11,.35)}.contact-page .contact-field input:focus,.contact-page .contact-field textarea:focus{border-color:rgba(11,11,11,.28);background:#ffffff;box-shadow:0 0 0 4px rgba(11,11,11,.04)}.contact-page .contact-form-error{margin:0;font-family:PP Neue Montreal,sans-serif;font-size:.875rem;color:#b42318}.contact-page .contact-submit{display:inline-flex;align-items:center;justify-content:center;align-self:flex-start;min-height:3.15rem;margin-top:.35rem;padding:.9rem 1.6rem;border:none;border-radius:999px;background:#ff6e14;color:#ffffff;font-family:PP Neue Montreal,sans-serif;font-size:.95rem;font-weight:500;cursor:pointer;transition:background-color .18s ease,transform .18s ease}.contact-page .contact-submit:hover{background:#f06412;transform:translateY(-1px)}.contact-page .contact-success{margin-top:2rem;padding:1.75rem;border-radius:1.25rem;background:#f6f6f6;border:1px solid rgba(11,11,11,.08)}.contact-page .contact-success h3{text-transform:none;font-family:PP Neue Montreal,sans-serif;font-size:1.35rem;font-weight:500;letter-spacing:-.025em;color:#0b0b0b}.contact-page .contact-success p{margin-top:.65rem;font-family:PP Neue Montreal,sans-serif;font-size:.975rem;line-height:1.55;color:rgba(11,11,11,.62)}.contact-page .contact-success-reset{margin-top:1.25rem;padding:0;border:none;background:none;color:#0b0b0b;font-family:PP Neue Montreal,sans-serif;font-size:.9rem;font-weight:500;text-decoration:underline;text-underline-offset:.18em;cursor:pointer}.contact-page .contact-info-panel{display:flex;flex-direction:column;gap:2rem;padding:1.75rem;border-radius:1.35rem;background:rgba(246,246,246,.92);border:1px solid rgba(11,11,11,.06);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.contact-page .contact-info-label{margin-bottom:.55rem;font-family:Geist Mono,PP Neue Montreal,monospace;font-size:.7rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:rgba(11,11,11,.42)}.contact-page .contact-email{display:inline-block;font-family:PP Neue Montreal,sans-serif;font-size:1.05rem;font-weight:500;letter-spacing:-.02em;color:#0b0b0b;text-decoration:none;word-break:break-word}.contact-page .contact-email:hover{color:var(--base-500)}.contact-page .contact-info-note,.contact-page .contact-info-value{margin-top:.55rem;font-family:PP Neue Montreal,sans-serif;font-size:.95rem;line-height:1.55;color:rgba(11,11,11,.62)}.contact-page .contact-info-value{margin-top:0;color:#0b0b0b}.contact-page .contact-focus-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.45rem}.contact-page .contact-focus-list li{font-family:PP Neue Montreal,sans-serif;font-size:.95rem;line-height:1.4;color:#0b0b0b}.contact-page .contact-socials{display:flex;flex-wrap:wrap;gap:.85rem 1.15rem}.contact-page .contact-socials a{font-family:PP Neue Montreal,sans-serif;font-size:.9rem;color:#0b0b0b;text-decoration:none}.contact-page .contact-socials a:hover{color:var(--base-500)}@media (max-width:1000px){.contact-page .contact-shapes{display:none}.contact-page{padding-top:5rem}.contact-page .contact-hero{padding:2.5rem 0 2rem}.contact-page .contact-hero h1{max-width:none}.contact-page .contact-main{padding:2.5rem 0 4rem}.contact-page .contact-layout{grid-template-columns:1fr;gap:2.5rem}.contact-page .contact-form-row{grid-template-columns:1fr}.contact-page .contact-submit{width:100%}}