.jf-contact{--ink:#1a1a1a;--paper:#faf9f7;--cream:#f2f0ed;--stone:#888;--hairline:#e4e1dc;--oxblood:#b22222;--oxblood-deep:#8b1a1a;--oxblood-tint:#f9efef;--charcoal:#1a1a1a;--serif:var(--font-playfair), "Playfair Display", Georgia, serif;--sans:var(--font-lato), Lato, -apple-system, sans-serif;font-family:var(--sans);color:var(--ink);background:var(--paper);-webkit-font-smoothing:antialiased;line-height:1.75}.jf-contact .wrap{width:90%;max-width:1200px;margin:0 auto}.jf-contact h1,.jf-contact h2,.jf-contact h3,.jf-contact h4{font-family:var(--serif);letter-spacing:-.01em;margin:0;font-weight:500;line-height:1.16}.jf-contact .contact-hero{background:var(--cream);text-align:center;border-bottom:1px solid var(--hairline);padding:120px 0 80px;position:relative;overflow:hidden}.jf-contact .contact-hero:before{content:"";pointer-events:none;border:1px solid #b222220d;border-radius:50%;width:800px;height:800px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.jf-contact .eyebrow{font-family:var(--sans);letter-spacing:.18em;text-transform:uppercase;color:var(--oxblood);align-items:center;gap:10px;margin-bottom:24px;font-size:12px;font-weight:700;display:inline-flex}.jf-contact .eyebrow:before,.jf-contact .eyebrow:after{content:"";background:var(--oxblood);width:24px;height:1px}.jf-contact .contact-hero h1{max-width:20ch;margin:0 auto 28px;font-size:clamp(36px,5.5vw,68px)}.jf-contact .hero-sub{color:#555;max-width:60ch;margin:0 auto;font-size:clamp(16px,1.8vw,20px);line-height:1.6}.jf-contact .contact-main{padding:clamp(50px,8vw,100px) 0}.jf-contact .contact-grid{grid-template-columns:1fr 1fr;align-items:start;gap:clamp(40px,6vw,100px);display:grid}@media (max-width:900px){.jf-contact .contact-grid{grid-template-columns:1fr;gap:60px}}.jf-contact .contact-info h2{margin-bottom:20px;font-size:clamp(28px,3.2vw,42px)}.jf-contact .info-intro{color:#555;max-width:50ch;margin-bottom:40px;font-size:16px}.jf-contact .info-details{flex-direction:column;gap:32px;margin-bottom:48px;display:flex}.jf-contact .info-item{align-items:flex-start;gap:20px;display:flex}.jf-contact .info-icon{background:var(--cream);width:48px;height:48px;color:var(--oxblood);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.jf-contact .info-icon svg{width:20px;height:20px}.jf-contact .info-text h3{font-family:var(--sans);letter-spacing:.15em;text-transform:uppercase;color:var(--stone);margin-bottom:4px;font-size:11px;font-weight:700}.jf-contact .contact-link{color:var(--ink);font-size:18px;font-weight:700;text-decoration:none;transition:color .25s}.jf-contact .contact-link:hover{color:var(--oxblood)}.jf-contact .social-wrap h3{font-family:var(--sans);letter-spacing:.15em;text-transform:uppercase;color:var(--stone);margin-bottom:16px;font-size:11px;font-weight:700}.jf-contact .social-links{align-items:center;gap:18px;display:flex}.jf-contact .social-links a{width:20px;height:20px;color:var(--ink);justify-content:center;align-items:center;text-decoration:none;transition:color .2s;display:inline-flex}.jf-contact .social-links a:hover{color:var(--oxblood)}.jf-contact .social-links .social-icon{fill:currentColor;width:20px;height:20px}.jf-contact .contact-form-card{background:var(--cream);border:1px solid var(--hairline);border-radius:16px;padding:clamp(16px,5vw,30px);box-shadow:0 4px 20px #00000005}.jf-contact .contact-form-card h2{margin-bottom:12px;font-size:clamp(24px,2.8vw,36px)}.jf-contact .form-intro{color:#666;margin-bottom:32px;font-size:15px}.jf-contact .contact-form{flex-direction:column;gap:24px;display:flex}.jf-contact .hp-field{display:none!important}.jf-contact .sr-only{clip:rect(0, 0, 0, 0);border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.jf-contact .form-group input,.jf-contact .form-group textarea{border:1.5px solid var(--hairline);background:var(--paper);width:100%;font-family:var(--sans);color:var(--ink);border-radius:8px;outline:none;padding:16px 20px;font-size:15px;transition:all .25s}.jf-contact .form-group input:focus,.jf-contact .form-group textarea:focus{border-color:var(--oxblood);background:#fff;box-shadow:0 0 0 4px #b222220f}.jf-contact .form-consent{margin:8px 0}.jf-contact .checkbox-container{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:flex-start;gap:12px;display:flex}.jf-contact .checkbox-container input{accent-color:var(--oxblood);cursor:pointer;margin-top:5px}.jf-contact .checkbox-text{color:#555;font-size:14px;line-height:1.4}.jf-contact .btn{font-family:var(--sans);letter-spacing:.12em;text-transform:uppercase;cursor:pointer;white-space:nowrap;border:1.5px solid #0000;border-radius:5px;justify-content:center;align-items:center;gap:10px;padding:16px 34px;font-size:.85rem;font-weight:700;transition:transform .35s,box-shadow .35s,background .3s,color .3s;display:inline-flex}.jf-contact .btn-primary{color:#fff;background:#b22222;border:1px solid #b22222;width:100%;position:relative;overflow:hidden;border-radius:0!important}.jf-contact .btn-primary:before{content:"";opacity:0;z-index:-1;background:#fff;border-radius:50%;width:10px;height:10px;transition:transform .6s cubic-bezier(.4,0,.2,1),opacity .6s cubic-bezier(.4,0,.2,1);position:absolute;bottom:-10px;left:50%;transform:translate(-50%)scale(1)}.jf-contact .btn-primary:hover,.jf-contact .btn-primary:focus-visible{color:#000;border:1px solid #000;transform:translateY(0)}.jf-contact .btn-primary:hover:before,.jf-contact .btn-primary:focus-visible:before{opacity:1;transform:translate(-50%)scale(80)}.jf-contact .btn-primary:disabled{background:var(--stone);cursor:not-allowed;box-shadow:none;color:#fff;transform:none}.jf-contact .btn-primary:disabled:before{display:none}.jf-contact .alert{border-radius:8px;margin-bottom:32px;padding:24px}.jf-contact .alert-success{color:#155724;background:#e6f6ec;border:1px solid #ccecd8}.jf-contact .alert-success h3{font-family:var(--sans);margin-bottom:8px;font-size:18px;font-weight:700}.jf-contact .alert-success p{margin:0;font-size:14px}.jf-contact .alert-error{background:var(--oxblood-tint);color:#a94442;border:1px solid #f2dede;font-size:14px}.jf-contact .btn-white-red,.jf-contact .btn-red-whte{font-weight:600;text-decoration:none;display:inline-block;position:relative;overflow:hidden}.jf-contact .btn-white-red span,.jf-contact .btn-red-whte span{z-index:1;transition:all .4s;position:relative}.jf-contact .btn-white-red:before,.jf-contact .btn-red-whte:before{content:"";border-radius:50%;width:20px;height:20px;transition:all .6s;position:absolute;bottom:-20px;left:50%;transform:translate(-50%)scale(0)}.jf-contact .btn-white-red:hover:before,.jf-contact .btn-red-whte:hover:before{transform:translate(-50%)scale(35)}.jf-contact .btn-white-red{color:#000;text-transform:uppercase;letter-spacing:2px;background:#fff;border:1px solid #000;padding:16px 26px;font-size:12px;font-weight:700}.jf-contact .btn-white-red:before{background:var(--oxblood)}.jf-contact .btn-white-red:hover span{color:#fff}.jf-contact .btn-red-whte{background:var(--oxblood);border:1px solid var(--oxblood);color:#fff;text-transform:uppercase;letter-spacing:2px;padding:16px 36px;font-size:12px;font-weight:700}.jf-contact .btn-red-whte:hover{border:1px solid #000}.jf-contact .btn-red-whte:before{background:#fff}.jf-contact .btn-red-whte:hover span{color:#000}
