.contact-methods{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:60px}.contact-method{padding:36px 24px;background:var(--white);border:1px solid rgba(201,169,97,.3);text-align:center;transition:all var(--transition-med);position:relative;overflow:hidden}.contact-method:before{content:"";position:absolute;bottom:0;left:0;right:0;height:2px;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform var(--transition-med)}.contact-method:hover{border-color:var(--gold);transform:translateY(-4px);box-shadow:0 14px 40px #c9a96126}.contact-method:hover:before{transform:scaleX(1)}.contact-method__icon{width:56px;height:56px;margin:0 auto 20px;color:var(--gold);display:flex;align-items:center;justify-content:center;border:1px solid var(--gold);border-radius:50%;transition:all var(--transition-med)}.contact-method:hover .contact-method__icon{background:var(--gold);color:var(--white)}.contact-method__label{font-size:10px;letter-spacing:.3em;text-transform:uppercase;color:var(--gold);margin-bottom:10px;font-weight:600}.contact-method__value{font-family:var(--font-serif);font-size:17px;color:var(--black);letter-spacing:.02em}.contact-method__value a{color:inherit}.contact-method__sub{font-size:12px;color:var(--grey-500);margin-top:6px}.contact-split{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:start}.contact-heading{font-family:var(--font-serif);font-size:clamp(28px,3vw,40px);letter-spacing:.04em;margin:16px 0 12px;color:var(--black)}.contact-subheading{font-family:var(--font-script);font-size:clamp(28px,3vw,42px);color:var(--gold);line-height:1;margin-bottom:36px}.contact-form{padding:40px;background:var(--white);border:1px solid rgba(201,169,97,.3)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}.form-group{margin-bottom:22px}.form-group label{display:block;font-size:10.5px;letter-spacing:.3em;text-transform:uppercase;color:var(--gold);margin-bottom:10px;font-weight:500}.form-group input,.form-group textarea,.form-group select{width:100%;padding:14px 0;background:transparent;border:none;border-bottom:1px solid var(--grey-300);font-family:var(--font-sans);font-size:15px;color:var(--black);transition:border-color var(--transition-fast);outline:none}.form-group select{cursor:pointer}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{border-bottom-color:var(--gold)}.form-group textarea{min-height:120px;resize:vertical}.form-status{margin:18px 0 0;padding:0;min-height:1.4em;font-size:13px;letter-spacing:.05em;text-align:center;color:transparent;transition:color var(--transition-fast)}.form-status--ok{color:var(--gold-dark)}.form-status--error{color:#a33}.map-wrap{aspect-ratio:21/9;background:linear-gradient(135deg,#c9a96114,#0a0a0a0d),repeating-linear-gradient(0deg,rgba(201,169,97,.06) 0 1px,transparent 1px 60px),repeating-linear-gradient(90deg,rgba(201,169,97,.06) 0 1px,transparent 1px 60px),var(--cream);position:relative;border:1px solid rgba(201,169,97,.3)}.map-wrap__pin{position:absolute;top:50%;left:50%;transform:translate(-50%,-100%);color:var(--gold);animation:pinBounce 2.4s ease-in-out infinite}.map-wrap__label{position:absolute;top:calc(50% + 20px);left:50%;transform:translate(-50%);background:var(--black);color:var(--cream);padding:10px 18px;font-size:10px;letter-spacing:.28em;text-transform:uppercase;font-weight:500;white-space:nowrap}.map-wrap__label:after{content:"";position:absolute;bottom:100%;left:50%;transform:translate(-50%);border:6px solid transparent;border-bottom-color:var(--black)}@keyframes pinBounce{0%,to{transform:translate(-50%,-100%)}50%{transform:translate(-50%,-110%)}}.address-card{margin-top:32px;padding:32px;background:var(--cream);border-left:2px solid var(--gold)}.address-card p:last-child{font-family:var(--font-serif);font-size:18px;line-height:1.6;color:var(--black);margin:0}.hours-card{margin-top:24px;padding:28px 32px;background:var(--white);border:1px solid rgba(201,169,97,.3)}.hours-row{display:flex;justify-content:space-between;padding:8px 0;font-size:14px;color:var(--grey-700);border-bottom:1px solid rgba(201,169,97,.15)}.hours-row strong{color:var(--black);font-family:var(--font-serif);font-size:15px}@media(max-width:1000px){.contact-split{grid-template-columns:1fr;gap:50px}.form-row{grid-template-columns:1fr}}@media(max-width:900px){.contact-methods{grid-template-columns:1fr 1fr}}@media(max-width:500px){.contact-methods{grid-template-columns:1fr}}
