.py-contact{padding:var(--py-space-24)0;background:var(--py-charcoal);position:relative;overflow:hidden}@media (min-width:768px){.py-contact{padding:var(--py-space-32)0}}.py-contact__bg{pointer-events:none;position:absolute;inset:0}.py-contact__bg-pattern{background-image:radial-gradient(circle at 2px 2px,#ffffff08 1px,#0000 0);background-size:40px 40px;position:absolute;inset:0}.py-contact__bg-gradient{background:radial-gradient(at 0%,#a41a3d26 0%,#0000 50%),radial-gradient(at 100%,#f3ca1314 0%,#0000 50%);position:absolute;inset:0}.py-contact__grid{gap:var(--py-space-12);grid-template-columns:1fr;display:grid}@media (min-width:1024px){.py-contact__grid{gap:var(--py-space-16);grid-template-columns:1fr 1fr;align-items:start}}.py-contact__info>*{opacity:0;transition:opacity .9s cubic-bezier(.16,1,.3,1),transform .9s cubic-bezier(.16,1,.3,1);transform:translate(-40px)}.py-contact__info--visible>*{opacity:1;transform:translate(0)}.py-contact__label{font-family:var(--font-body);font-size:var(--py-text-xs);letter-spacing:.2em;text-transform:uppercase;color:var(--py-gold);margin-bottom:var(--py-space-4);font-weight:600;display:inline-block}.py-contact__title{font-family:var(--font-heading);font-size:clamp(var(--py-text-3xl),5vw,var(--py-text-5xl));color:var(--py-white);margin-bottom:var(--py-space-5);font-weight:400;line-height:1.15}.py-contact__title-accent{color:var(--py-gold);font-style:italic}.py-contact__description{font-family:var(--font-body);font-size:var(--py-text-base);color:#ffffffb3;margin-bottom:var(--py-space-10);font-weight:400;line-height:1.7}.py-contact__details{gap:var(--py-space-4);margin-bottom:var(--py-space-10);flex-direction:column;display:flex}.py-contact__detail{align-items:center;gap:var(--py-space-4);padding:var(--py-space-4);background:#ffffff08;border:1px solid #ffffff14;text-decoration:none;transition:all .4s cubic-bezier(.16,1,.3,1);display:flex}a.py-contact__detail:hover{border-color:var(--py-gold);background:#ffffff0f}.py-contact__detail-icon{width:48px;height:48px;color:var(--py-gold);background:#f3ca131a;flex-shrink:0;justify-content:center;align-items:center;display:flex}.py-contact__detail-content{gap:var(--py-space-1);flex-direction:column;display:flex}.py-contact__detail-label{font-family:var(--font-body);font-size:var(--py-text-xs);letter-spacing:.1em;text-transform:uppercase;color:#ffffff80;font-weight:500}.py-contact__detail-value{font-family:var(--font-heading);font-size:var(--py-text-lg);color:var(--py-white);font-weight:500}.py-contact__hours{padding:var(--py-space-6);background:#ffffff08;border:1px solid #ffffff14}.py-contact__hours-title{font-family:var(--font-heading);font-size:var(--py-text-lg);color:var(--py-white);margin-bottom:var(--py-space-4);font-weight:500}.py-contact__hours-list{gap:var(--py-space-3);flex-direction:column;display:flex}.py-contact__hours-row{justify-content:space-between;align-items:center;display:flex}.py-contact__hours-row--muted{opacity:.7}.py-contact__hours-days{font-family:var(--font-body);font-size:var(--py-text-sm);color:#fffc;font-weight:500}.py-contact__hours-time{font-family:var(--font-body);font-size:var(--py-text-sm);color:var(--py-gold);font-weight:400}.py-contact__form-wrapper{opacity:0;transition:opacity 1s cubic-bezier(.16,1,.3,1) .3s,transform 1s cubic-bezier(.16,1,.3,1) .3s;transform:translate(40px)}.py-contact__form-wrapper--visible{opacity:1;transform:translate(0)}.py-contact__form{background:var(--py-white);padding:var(--py-space-8)}@media (min-width:768px){.py-contact__form{padding:var(--py-space-10)}}.py-contact__form-title{font-family:var(--font-heading);font-size:var(--py-text-2xl);color:var(--py-charcoal);margin-bottom:var(--py-space-6);font-weight:500}.py-contact__status{padding:var(--py-space-4);border-radius:var(--py-radius-md);font-family:var(--font-body);font-size:var(--py-text-sm);margin-bottom:var(--py-space-4);text-align:center;font-weight:500}.py-contact__status--success{color:#16a34a;background:#22c55e1a;border:1px solid #22c55e33}.py-contact__status--error{color:#dc2626;background:#ef44441a;border:1px solid #ef444433}.py-contact__form-grid{gap:var(--py-space-4);grid-template-columns:1fr 1fr;display:grid}.py-contact__field{margin-bottom:var(--py-space-5)}.py-contact__field-label{font-family:var(--font-body);font-size:var(--py-text-sm);color:var(--py-charcoal);margin-bottom:var(--py-space-2);font-weight:500;display:block}.py-contact__field-input,.py-contact__field-select,.py-contact__field-textarea{width:100%;padding:var(--py-space-4);font-family:var(--font-body);font-size:var(--py-text-base);color:var(--py-charcoal);background:var(--py-gray-100);border:1px solid var(--py-gray-200);transition:all .3s}.py-contact__field-input::placeholder,.py-contact__field-textarea::placeholder{color:var(--py-gray-400)}.py-contact__field-input:focus,.py-contact__field-select:focus,.py-contact__field-textarea:focus{border-color:var(--py-burgundy);background:var(--py-white);outline:none}.py-contact__field-select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8' fill='none'%3E%3Cpath d='M1 1.5L6 6.5L11 1.5' stroke='%23737373' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-position:right 16px center;background-repeat:no-repeat;padding-right:48px}.py-contact__field-textarea{resize:vertical;min-height:120px}.py-contact__submit{justify-content:center;align-items:center;gap:var(--py-space-3);width:100%;padding:var(--py-space-5)var(--py-space-8);font-family:var(--font-body);font-size:var(--py-text-sm);letter-spacing:.1em;text-transform:uppercase;color:var(--py-white);background:var(--py-burgundy);cursor:pointer;border:none;font-weight:600;transition:all .4s cubic-bezier(.16,1,.3,1);display:inline-flex}.py-contact__submit:hover{background:var(--py-burgundy-dark);box-shadow:var(--py-shadow-glow-burgundy);transform:translateY(-2px)}.py-contact__submit svg{transition:transform .4s cubic-bezier(.16,1,.3,1)}.py-contact__submit:hover svg{transform:translate(4px)}
