/* Contact and campaign landing. Uses the existing Joaquín Factory identity. */
.jf-contact-hero.contact-page{padding-bottom:70px}.jf-contact-hero .contact-actions{margin-top:35px}.jf-contact-hero .contact-big{font-size:clamp(20px,3vw,36px)}.jf-contact-hero>.pill{margin-top:20px}
.jf-contact-form{background:#f4f2ec;color:#171717;padding:100px max(5vw,calc((100vw - 1296px)/2));display:grid;grid-template-columns:.9fr 1.1fr;gap:80px;scroll-margin-top:78px}.jf-form-intro h2{font:300 clamp(38px,4.6vw,65px)/1.1 var(--serif);letter-spacing:-.045em;margin:0 0 32px}.jf-form-intro em{color:#496da8}.jf-form-intro p{font-size:19px;line-height:1.7;max-width:400px;color:#444}.jf-form-intro>a{display:inline-block;margin-top:22px;text-decoration:underline;text-underline-offset:6px;font-size:16px;overflow-wrap:anywhere}.jf-enquiry{min-width:0}.jf-enquiry label{display:block;font:400 15px/1.5 var(--sans)}.jf-enquiry input:not([type=checkbox]),.jf-enquiry textarea{display:block;width:100%;border:0;border-bottom:1px solid #92958f;border-radius:0;background:transparent;color:#161616;font:300 18px/1.5 var(--sans);padding:12px 0;margin:6px 0 28px;box-shadow:none}.jf-enquiry textarea{resize:vertical;min-height:135px}.jf-enquiry input:focus-visible,.jf-enquiry textarea:focus-visible{outline:2px solid #496da8;outline-offset:5px}.jf-enquiry input::placeholder,.jf-enquiry textarea::placeholder{color:#656565;opacity:1;font-size:16px}.jf-form-pair{display:grid;grid-template-columns:1fr 1fr;gap:30px}.jf-enquiry fieldset{padding:0;margin:0 0 32px;border:0}.jf-enquiry legend{font:400 15px/1.5 var(--sans);margin-bottom:18px}.jf-choices{display:grid;grid-template-columns:1fr 1fr;gap:13px 20px}.jf-enquiry .jf-choice{display:flex;gap:10px;align-items:start;font-size:14px;cursor:pointer}.jf-enquiry input[type=checkbox]{appearance:auto;accent-color:#385d99;width:18px;height:18px;margin:2px 0 0;flex-shrink:0}.jf-enquiry .jf-privacy{display:flex;gap:12px;font-size:14px}.jf-privacy a{text-decoration:underline;text-underline-offset:3px}.jf-data-note{font-size:12px;line-height:1.6;color:#595959;margin:12px 0 25px}.jf-enquiry .jf-send{color:#111;cursor:pointer;font-size:16px;padding:15px 25px}.jf-enquiry .jf-send:disabled{opacity:.55;cursor:wait}.jf-form-status{font-size:16px;line-height:1.5;margin:20px 0 0;min-height:24px}.jf-form-status[data-state=error]{color:#a21d1d}.jf-form-status[data-state=success]{color:#21552f}.jf-hp{position:absolute!important;left:-10000px!important;width:1px;height:1px;overflow:hidden}.jf-enquiry.is-sent{border-top:1px solid #999;padding-top:20px}.jf-enquiry.is-sent>:not(.jf-form-status){display:none}.jf-enquiry.is-sent .jf-form-status{font:300 28px/1.5 var(--serif)}
.jf-lp-hero,.jf-lp-needs,.jf-lp-proof,.jf-lp-person,.jf-lp-process,.jf-lp-faq{padding:95px max(5vw,calc((100vw - 1296px)/2))}.jf-lp-signature{font:400 12px/1.5 var(--sans);letter-spacing:.14em;color:#aaa;margin-bottom:35px}.jf-lp-hero h1{font:300 clamp(62px,8.6vw,126px)/1.02 var(--serif);letter-spacing:-.055em;margin:0 0 50px;max-width:1300px}.jf-lp-hero h1 em{color:var(--blue)}.jf-lp-hero-bottom{display:flex;justify-content:space-between;gap:50px;align-items:center}.jf-lp-hero-bottom>p{font-size:22px;line-height:1.6;max-width:640px;color:#c5c5c0;margin:0}.jf-lp-hero-bottom>div{flex-shrink:0}.jf-lp-work-link{display:block;margin-top:20px;font-size:15px;text-align:center}.jf-lp-needs{background:var(--blue);color:#101010}.jf-lp-section-heading{display:flex;align-items:end;justify-content:space-between;gap:60px;margin-bottom:55px}.jf-lp-needs h2,.jf-lp-proof h2,.jf-lp-person h2,.jf-lp-process h2,.jf-lp-faq h2{font:300 clamp(40px,5.2vw,72px)/1.1 var(--serif);letter-spacing:-.045em;margin:0 0 35px}.jf-lp-needs h2{margin:0}.jf-lp-needs em{color:#fff}.jf-lp-section-heading>p{max-width:340px;color:#172438;font-size:19px;line-height:1.6}.jf-lp-service{display:grid;grid-template-columns:1fr 1fr 40px;gap:40px;align-items:center;border-top:1px solid #385886;padding:30px 0;transition:padding .3s}.jf-lp-service:last-child{border-bottom:1px solid #385886}.jf-lp-service h3{font:300 clamp(25px,2.8vw,38px)/1.15 var(--serif);letter-spacing:-.025em;margin:0}.jf-lp-service p{font-size:16px;line-height:1.65;color:#172438;margin:0}.jf-lp-service>span{font-size:32px;justify-self:end}.jf-lp-service:hover{padding-left:12px}.jf-lp-proof h2 em,.jf-lp-process h2 em{color:var(--blue)}.jf-lp-proof-grid{display:grid;grid-template-columns:1fr 1fr;gap:45px 30px;margin:50px 0}.jf-lp-case:first-child{grid-column:1/-1}.jf-lp-case-image{overflow:hidden;background:#202020}.jf-lp-case img{width:100%;height:330px;object-fit:cover;transition:transform .7s}.jf-lp-case:first-child img{height:480px}.jf-lp-case:hover img{transform:scale(1.025)}.jf-lp-case h3{font:300 34px/1.2 var(--serif);margin:20px 0 12px;display:flex;justify-content:space-between;gap:25px}.jf-lp-case p{font-size:16px;color:#bbb;max-width:650px;line-height:1.6;margin:0}.jf-lp-person{background:#fff;color:#151515;display:grid;grid-template-columns:1.1fr .9fr;gap:55px;align-items:center;padding-bottom:0;overflow:hidden}.jf-lp-person h2 em{color:#496da8}.jf-lp-person p{font-size:20px;line-height:1.7;max-width:630px;color:#444}.jf-lp-person .text-link{color:#161616;display:inline-block;margin:24px 0 65px}.jf-lp-person>img{width:100%;height:550px;object-fit:contain;object-position:bottom;align-self:end;mask-image:linear-gradient(#000 80%,transparent 100%)}.jf-lp-process ol{list-style:none;counter-reset:phases;padding:0;margin:60px 0 0;display:grid;grid-template-columns:repeat(3,1fr);gap:50px}.jf-lp-process li{border-top:1px solid #555;padding-top:25px}.jf-lp-process h3{font:300 33px/1.2 var(--serif);margin:0 0 20px}.jf-lp-process p{font-size:17px;color:#bbb;line-height:1.7}.jf-lp-faq{padding-top:0}.jf-lp-faq details{border-color:#555}.jf-lp-faq summary{font-size:clamp(20px,2.3vw,30px)}.jf-lp-faq details p{max-width:850px;font-size:18px;line-height:1.7;color:#bbb}
@media(max-width:850px){.jf-contact-form{grid-template-columns:1fr;gap:45px;padding:65px 6vw}.jf-form-intro p{max-width:650px}.jf-lp-hero,.jf-lp-needs,.jf-lp-proof,.jf-lp-person,.jf-lp-process,.jf-lp-faq{padding:65px 6vw}.jf-lp-hero-bottom,.jf-lp-section-heading{display:block}.jf-lp-hero-bottom>div{margin-top:30px;display:flex;align-items:center;gap:25px;flex-wrap:wrap}.jf-lp-work-link{margin:0}.jf-lp-hero-bottom>p{font-size:20px}.jf-lp-section-heading>p{max-width:650px;margin-top:25px}.jf-lp-service{grid-template-columns:1fr 1fr 25px;gap:25px}.jf-lp-person{grid-template-columns:1fr 1fr;gap:20px;padding-bottom:0}.jf-lp-person>img{height:400px}.jf-lp-process ol{gap:25px}.jf-lp-faq{padding-top:0}}
@media(max-width:550px){.jf-lp-hero h1{font-size:54px}.jf-form-pair{grid-template-columns:1fr;gap:0}.jf-choices{grid-template-columns:1fr}.jf-lp-service{grid-template-columns:1fr 28px;gap:14px}.jf-lp-service p{grid-column:1;grid-row:2}.jf-lp-service>span{grid-column:2;grid-row:1}.jf-lp-proof-grid{grid-template-columns:1fr;gap:36px}.jf-lp-case:first-child{grid-column:auto}.jf-lp-case:first-child img,.jf-lp-case img{height:270px}.jf-lp-case h3{font-size:29px}.jf-lp-person{grid-template-columns:1fr}.jf-lp-person>img{height:370px}.jf-lp-person .text-link{margin-bottom:0}.jf-lp-process ol{grid-template-columns:1fr;gap:25px;margin-top:35px}.jf-lp-process h3{margin-bottom:12px}.jf-form-intro h2{font-size:42px}.jf-lp-signature{font-size:10px}.jf-enquiry .jf-send{width:100%;justify-content:center}}
@media(prefers-reduced-motion:reduce){.jf-lp-service,.jf-lp-case img{transition:none}}
.jf-contact-hero>.pill{width:fit-content;justify-self:start}
.jf-form-intro>.jf-contact-explore{display:block;width:fit-content;margin-top:25px;font-size:14px}

/* One contact section: existing photographic language, full enquiry form. */
.jf-contact-unified{position:relative;isolation:isolate;background:#070707;color:#f4efd4;padding-top:110px;padding-bottom:100px;overflow:hidden}
.jf-contact-unified::before{content:"";position:absolute;inset:0;z-index:-2;background:url('/assets/background-contact.jpg') 75% 55%/cover;filter:grayscale(1);opacity:.68}
.jf-contact-unified::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(0,0,0,.88),rgba(0,0,0,.78) 55%,rgba(0,0,0,.65))}
.jf-contact-unified .jf-form-intro h1{font:300 clamp(42px,4.6vw,65px)/1.1 var(--serif);letter-spacing:-.045em;margin:0 0 32px}
.jf-contact-unified .jf-form-intro em{color:var(--blue)}
.jf-contact-unified .jf-form-intro p{color:#d6d5d0}
.jf-contact-unified .social-links{margin-top:30px}
.jf-contact-unified .jf-form-intro .contact-note{font-size:14px;line-height:1.6;margin-top:24px}
.jf-contact-unified .jf-enquiry input:not([type=checkbox]),.jf-contact-unified .jf-enquiry textarea{color:#f4efd4;border-color:#93938c}
.jf-contact-unified .jf-enquiry input::placeholder,.jf-contact-unified .jf-enquiry textarea::placeholder{color:#bdbdb6}
.jf-contact-unified .jf-enquiry input[type=checkbox]{accent-color:var(--blue)}
.jf-contact-unified .jf-enquiry input:focus-visible,.jf-contact-unified .jf-enquiry textarea:focus-visible{outline-color:var(--blue)}
.jf-contact-unified .jf-data-note{color:#bdbdb6}
.jf-contact-unified .jf-form-status[data-state=error]{color:#ffb4aa}
.jf-contact-unified .jf-form-status[data-state=success]{color:#b9e6bf}
@media(max-width:850px){.jf-contact-unified{padding-top:65px;padding-bottom:65px}.jf-contact-unified::after{background:rgba(0,0,0,.79)}}
