.container{max-width:1200px;margin:0 auto;padding:0 24px}.contact-hero{background:var(--color-bg-dark);text-align:center;padding:clamp(60px,10vw,100px) 0}.contact-hero h1{font-family:var(--font-display);color:var(--color-text-light);margin-bottom:20px;font-size:clamp(2.2rem,5vw,3.2rem);font-weight:400;line-height:1.15}.contact-hero p{color:#fafaf8b3;max-width:580px;margin:0 auto;font-size:clamp(1rem,1.8vw,1.15rem);line-height:1.7}.contact-methods{background:var(--color-white);padding:clamp(48px,8vw,80px) 0}.contact-methods-grid{grid-template-columns:1fr;gap:24px;display:grid}.contact-card{text-align:center;border:1px solid var(--color-border);border-radius:var(--radius-md);transition:box-shadow var(--transition);padding:36px 24px}.contact-card:hover{box-shadow:0 4px 24px #0000000d}.contact-card-icon{background:var(--color-bg-warm);border-radius:50%;justify-content:center;align-items:center;width:56px;height:56px;margin:0 auto 20px;display:flex}.contact-card-icon svg{width:24px;height:24px;stroke:var(--color-text);fill:none;stroke-width:1.5px;transition:transform .4s}@keyframes wiggle{0%{transform:rotate(15deg)scale(1.25)}50%{transform:rotate(-5deg)scale(1.2)}to{transform:rotate(0)scale(1.15)}}.contact-card:hover .contact-card-icon svg{animation:.5s forwards wiggle}.contact-card h3{font-family:var(--font-body);color:var(--color-text);margin-bottom:10px;font-size:1.05rem;font-weight:600}.contact-card .contact-detail{color:var(--color-text);margin-bottom:6px;font-size:1rem;font-weight:500;line-height:1.5}.contact-card .contact-detail a{color:var(--color-text);border-bottom:1px solid var(--color-accent);transition:color var(--transition);text-decoration:none}.contact-card .contact-detail a:hover{color:var(--color-accent)}.contact-card .contact-note{color:var(--color-text-muted);font-size:.88rem;line-height:1.5}@media (min-width:768px){.contact-methods-grid{grid-template-columns:1fr 1fr;max-width:700px;margin:0 auto}}.contact-form-section{background:var(--color-bg-warm);padding:clamp(48px,8vw,80px) 0}.contact-form-grid{grid-template-columns:1fr;align-items:start;gap:48px;display:grid}.contact-form-wrap{background:var(--color-white);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:32px}.contact-form-wrap h2{font-family:var(--font-display);color:var(--color-text);margin-bottom:24px;font-size:clamp(1.6rem,3vw,2rem);font-weight:400;line-height:1.2}.form-row{grid-template-columns:1fr;gap:16px;margin-bottom:16px;display:grid}.form-field{flex-direction:column;gap:6px;display:flex}.form-field label{color:var(--color-text-muted);font-size:.85rem;font-weight:500}.form-field input,.form-field select,.form-field textarea{font-family:var(--font-body);background:var(--color-white);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text);transition:all var(--transition);outline:none;width:100%;padding:12px 16px;font-size:.95rem}.form-field input::placeholder,.form-field textarea::placeholder{color:#a0a0a0}.form-field input:focus,.form-field select:focus,.form-field textarea:focus{border-color:var(--color-accent);background:var(--color-white)}.form-field select{appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%236B6B6B' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-position:right 14px center;background-repeat:no-repeat;padding-right:40px}.form-field select option{background:var(--color-white);color:var(--color-text)}.form-field textarea{resize:vertical;min-height:120px}.form-submit{background:var(--color-text);width:100%;color:var(--color-white);font-family:var(--font-body);cursor:pointer;transition:all var(--transition);border:none;border-radius:100px;justify-content:center;align-items:center;gap:.5rem;margin-top:8px;padding:.875rem 1.5rem;font-size:.875rem;font-weight:600;display:inline-flex}.form-submit:hover{opacity:.85}.form-privacy{color:var(--color-text-muted);margin-top:16px;font-size:.8rem;line-height:1.5}.form-privacy a{color:var(--color-text);text-decoration:underline}@media (min-width:768px){.form-row{grid-template-columns:1fr 1fr}}@media (min-width:1024px){.contact-form-grid{max-width:700px;margin:0 auto}}
